Lobolang 发表于 2019-8-5 23:59

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'

Lobolang 发表于 2019-8-6 00:00

为什么src2获取到的地址和后面print(soup2)打印出来的不一样...soup2打印出来是soup网页的内容

Lobolang 发表于 2019-8-6 00:01

有大佬回答下吗:'(weeqw

笑熬浆糊4 发表于 2019-8-6 00:16

我一般用xpath

Lobolang 发表于 2019-8-6 00:22

笑熬浆糊4 发表于 2019-8-6 00:16
我一般用xpath

不会用...我这个为什么打印出来的soup2不是src2获取到的网址的内容呢?

chmmoon 发表于 2019-8-6 07:29

bs2返回的就是网页吧

Lobolang 发表于 2019-8-6 07:37

chmmoon 发表于 2019-8-6 07:29
bs2返回的就是网页吧

??,我soup2反回的网页跟上面src2不一样,为什么

chmmoon 发表于 2019-8-6 07:49

Lobolang 发表于 2019-8-6 07:37
??,我soup2反回的网页跟上面src2不一样,为什么

你直接浏览器打开scr2是全部加载完成的网页,bs2获取到的只是第一个网页,你用谷歌浏览器去看开发者选项

小葫蘆 发表于 2019-8-6 08:52

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)

misenlin 发表于 2019-8-6 11:07

有点迷糊
页: [1] 2
查看完整版本: Python爬虫问题