前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Spider Cheat Sheet

Python Spider Cheat Sheet

作者头像
李郑
发布2019-12-04 20:38:48
6570
发布2019-12-04 20:38:48
举报
文章被收录于专栏:漫漫全栈路漫漫全栈路

前面两篇文章大致说了 Python 爬虫的原理和工具以及开发环境的搭建,将原本逐一内容记录的方式修改为 Cheat Sheet 模式。

获取页面

获取页面的几个步骤:

  • 使用 BeautifulSoup 解析网页
  • 表述需要爬取的信息
  • 从标签中获取需要的信息

解析网页

BeautifulSoup 让我们将网页视作一份汤,那么 Soup 就是这份汤, html 就是汤料,而 lxml 则是食谱。而食谱呢,一共有如下五种:

  • html.parser
  • lxml HTML
  • lxml XML
  • html5lib
代码语言:javascript
复制
Soup = BeautifulSoup(html,'lxml')

获取网页

对于网页中的元素,通常使用两种方法来进行定位:

  • CSS Selector
  • XPath

Xpath 路径为: /html/body/main/article[1]/h2/a

CSS Selector 为: body > main > article:nth-child(1) > h2 > a

BeautifulSoup 只能识别 CSS Selector 来获取网页指定内容。

存储

文件流操作

代码语言:javascript
复制
url = 'http://mm.chinasareview.com/wp-content/uploads/2017a/05/03/07.jpg'
r = requests.get(url,headers=headers).content
f = open('./save/test1.jpg','wb')
f.write(r)
f.close

反爬应对

UA

代码语言:javascript
复制
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"}
r = requests.get(url,headers=headers).content

## 使用requests中的get方法来获取all_url
start_html = requests.get(all_url,headers=headers)

防盗链

代码语言:javascript
复制
headers = {'Referer':'http://www.domain.com'}
r = requests.get(url,headers=headers).content
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取页面
    • 解析网页
      • 获取网页
        • 存储
        • 反爬应对
          • UA
            • 防盗链
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档