Python爬虫问题
本帖最后由 Lobolang 于 2019-8-6 00:15 编辑import requests
from bs4 import BeautifulSoup
importre
from urllib import request
header={'Referer':'https://www.qidian.com/xuanhuan',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 LBBROWSER'}
def Getinfo(url):
response = requests.get(url,headers=header)
response2= request.urlopen(url,timeout=10)
soup =BeautifulSoup(response.text,'lxml')
a = re.compile('</a></td><td><a class="name" .*?>(.*?)</a>')
b = re.findall(a,response2.read().decode('utf-8'))
for i in soup.find_all('div', class_="update-table all"):
for j in i.find_all(class_='name'):
src =j.get('href')
src2='http:'+src #到这边打印的src2正常获取到
response3 =requests.get(src2)
soup2=BeautifulSoup(response3.text,'lxml')
print(soup2)
url='https://www.qidian.com/xuanhuan' 为什么src2获取到的地址和后面print(soup2)打印出来的不一样...soup2打印出来是soup网页的内容 有大佬回答下吗:'(weeqw 我一般用xpath 笑熬浆糊4 发表于 2019-8-6 00:16
我一般用xpath
不会用...我这个为什么打印出来的soup2不是src2获取到的网址的内容呢? bs2返回的就是网页吧 chmmoon 发表于 2019-8-6 07:29
bs2返回的就是网页吧
??,我soup2反回的网页跟上面src2不一样,为什么 Lobolang 发表于 2019-8-6 07:37
??,我soup2反回的网页跟上面src2不一样,为什么
你直接浏览器打开scr2是全部加载完成的网页,bs2获取到的只是第一个网页,你用谷歌浏览器去看开发者选项 response3 =requests.get(src2)这句是get src2这条地址
soup2=BeautifulSoup(response3.text,'lxml') 这条是创建一个BeautifulSoup对象
如果你要抓取网页里的某些内容,你可以用下面的xpath 或 select(这两天我随便写的,并非网页内容)
text01 = soup2.xpath('//div[@style="text-align: center;"]//img/@src')
text02 = soup2.select('div').text)
print(text01)
print(text02) 有点迷糊
页:
[1]
2