爬虫入门到精通-网页的下载

优采云 发布时间: 2022-05-09 09:27

  爬虫入门到精通-网页的下载

  

  本文章属于爬虫入门到精通系统教程第四讲

  在爬虫入门到精通第二讲中,我们了解了HTTP协议

  #rd,那么我们现在使用这些协议来快速爬虫吧

  本文的目标

  当你看完本文后,你应该能爬取(几乎)任何的网页

  使用chrome抓包抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。第一个案列:抓取轮子哥的动态()

  1.打开轮子哥动态这个网页

  

  2.打开抓包工具

  应该会看到如下界面

  

  3.找到我们需要的请求

  可以看到如下截图,里面有这么多的请求,那么到底哪一个才是我们需要的呢 ?

  

  这边提供一个小技巧

  简单来讲就是如果整个页面没有刷新的话,那就是在XHR里面,否则在DOC里面

  因为本次抓包整个页面有刷新,所以,我们需要找的请求在DOC下面,可以看到只有一个请求

  

  4.验证请求是对的

  有以下两种方法(基本上用1,因为比较快)

  在我们要抓包的页面随便copy出几个字,在Respoinse中使用ctrl+f 查找,如果有找到,说明我们找到的是对的 (我查找的是"和微软粉丝谈")

  

  2.把response中所有的内容复制到一个txt中,并改名为"#.html"(这里的#可以随便取)

  然后打开这个html,看看是否和我们要抓的一样

  

  如果发现要找的不对,那你可以打开下一个请求检查下

  5.模拟发送

  点击Headers

  可以看到请求的url是:

  方法是: GET

  requests headers 是(下图中框出来的地方)

  

  所以我们的代码应该是:

  import requests# 这里的headers就是我们上图框中的headers

request_headers = {

'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',  

'Accept-Encoding':'gzip, deflate, sdch, br','Accept-Language':'zh-CN,zh;q=0.8','Cache-Control':'max-age=0','Connection':'keep-alive','Cookie':'','Host':'www.zhihu.com','Referer':'https://www.zhihu.com/','Upgrade-Insecure-Requests':'1','User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'

}

#上图中的url

url = "https://www.zhihu.com/people/excited-vczh/activities"

# 上图中的请求方法(get)

z = requests.get(url,headers=request_headers)

print z.content

  这段代码简单来说就是把 我们抓包看到的用程序来实现

  一个小总结

  我们爬取一个网页的步骤可以分为如下:

  打开要爬取的网页

  打开开发者工具,并让请求重发一次(简单讲就是抓包)

  找到正确的请求

  用程序模拟发送

  第二个案列:点赞

  1.打开要爬取的网页

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线