python 中关于用beautifulsoup4库解析网页源代码标签的问题,急求解答 100

•目标:补全process函数,接受一个url做参数,并返回一个二元组,分别是这个页面中所有的链接的list和所有图片地址的list•要求:使用这... •目标: 补全process函数,接受一个url做参数,并返回一个二元组,分别是这个页面中所有的链接的list和所有图片地址的list•
要求:使用这行代码来获得页面的源代码:
•pageSource=requests.get(url).text
使用beautifulsoup4库来帮助你解析源代码中的标签
代码:
def process(url):
pageSourse = requests.get(url).text

link_urls=[]
link_urls.append("bbstcon,board,PIC,reid,1424912107.html")
img_urls=[]
img_urls.append("/file/PPPerson/1447659251185750.jpg")
return (link_urls, img_urls)

之前已经导入的库有
import Queue
import requests
import urlparse
import os
展开
 我来答
和谐且精明丶爱侣e
2015-12-03 · TA获得超过360个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:215万
展开全部

以百度为例

# -*- coding:utf-8 -*-
import requests
import urlparse
import os
from bs4 import BeautifulSoup
def process(url):
    headers = {'content-type': 'application/json',
           'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
    pageSourse =  requests.get(url, headers=headers).text
    page_soup = BeautifulSoup(pageSourse)
    a_all = page_soup.findAll("a")
    link_urls=[i.get('href') for i in a_all]#有些是javascript触发事件,过滤方法自己写下。
    img_all = page_soup.findAll("img")
    img_urls=[i.get("src") for i in img_all]
    print link_urls,img_urls
    return (link_urls, img_urls)
process("https://www.baidu.com")

结果如下:

[u'/', u'javascript:;', u'javascript:;', u'javascript:;', u'/', u'javascript:;', u'https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F', u'http://www.nuomi.com/?cid=002540', u'http://news.baidu.com', u'http://www.hao123.com', u'http://map.baidu.com', u'http://v.baidu.com', u'http://tieba.baidu.com', u'https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F', u'http://www.baidu.com/gaoji/preferences.html', u'http://www.baidu.com/more/', u'http://news.baidu.com/ns?cl=2&rn=20&tn=news&word=', u'http://tieba.baidu.com/f?kw=&fr=wwwt', u'http://zhidao.baidu.com/q?ct=17&pn=0&tn=ikaslist&rn=10&word=&fr=wwwt', u'http://music.baidu.com/search?fr=ps&ie=utf-8&key=', u'http://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=', u'http://v.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=25&ie=utf-8&word=', u'http://map.baidu.com/m?word=&fr=ps01000', u'http://wenku.baidu.com/search?word=&lm=0&od=0&ie=utf-8', u'//www.baidu.com/more/', u'/', u'//www.baidu.com/cache/sethelp/help.html', u'http://home.baidu.com', u'http://ir.baidu.com', u'http://www.baidu.com/duty/', u'http://jianyi.baidu.com/'] [u'//www.baidu.com/img/bd_logo1.png', u'//www.baidu.com/img/baidu_jgylogo3.gif']

有问题可指出,满意请采纳

匿名用户
2015-12-04
展开全部
以百度为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# -*- coding:utf-8 -*-
import requests
import urlparse
import os
from bs4 import BeautifulSoup
def process(url):
headers = {'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
pageSourse = requests.get(url, headers=headers).text
page_soup = BeautifulSoup(pageSourse)
a_all = page_soup.findAll("a")
link_urls=[i.get('href') for i in a_all]#有些是javascript触发事件,过滤方法自己写下。
img_all = page_soup.findAll("img")
img_urls=[i.get("src") for i in img_all]
print link_urls,img_urls
return (link_urls, img_urls)
process("<a href="https://www.baidu.com"" target="_blank">https://www.baidu.com"</a>)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式