我们爬取网页,重要的是前期的分析工作,比着教程写出来的爬虫与自己能独立写出来有着不小的距离,所以我们学习爬虫,更重要的是学习教程的构思过程,当然,代码本身要通过大量的实践来熟悉爬虫的过程。
-
比如这样的浏览器开发者工具,当我按下F12弹出这样的界面时候,直接蒙圈了,甚至它没有任何反爬虫,我也找不到要爬的内容。所以在学习的过程中,要始终保持谦虚的心态,知道只是冰山一角。
代码与解析过程:
__author__ = 'Administrator'
#爬取糗事百科段子
#目标网址:https://www.qiushibaike.com/
#第二页:https://www.qiushibaike.com/8hr/page/2/
#第三页:https://www.qiushibaike.com/8hr/page/3/
#第一步:通过构造url爬取前三页的页面
import requests
from lxml import etree
headers={'User-Agent':'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
#循环构造url
for i in range(1,4):
url='https://www.qiushibaike.com/8hr/page/'+str(i)+'/'
response=requests.get(url,headers=headers).text
# print(response)
html=etree.HTML(response)
#xpath解析出段子的链接
result1=html.xpath('//div[@class="recommend-article"]//li/a/@href')
print(result1)
#https://www.qiushibaike.com/article/121207893
#通过构造拼接具体段子的链接并爬取
for site in result1:
url2='https://www.qiushibaike.com'+site
response2=requests.get(url2,headers=headers).text
html2=etree.HTML(response2)
result2=html2.xpath('//div[@class="content"]')
print(result2[0].text)
返回结果:
弟也叫雷雷,你姓什么?”回“杜”然后,就没有然后了。。。
千万别让农夫山泉知道了,他们是大自然的搬运工
这是亲爸!
2018红牛坠山赛,第一视角。
听说燕窝大补,今天刮大风破天荒的碰巧捡了一个,不知道怎么吃,各位大神求告知
昨晚终于把梦寐已久的女神办了,心里美的我睡觉都咧着嘴。第二天,女神就对我翻白眼说:这么多人,美成这样的你还是第一个!
唉~只能画画表情包了!哈哈哈~
看了好几遍…………
如果让男人看娃… 你永远都不知道他们能作出什么妖…