Python爬虫入门

快来打我* 2023-01-01 03:49 422阅读 0赞

Python爬虫入门之 初识爬虫

简单介绍Python爬虫相关的知识

文章目录

  • Python爬虫入门之 初识爬虫
      1. 什么是爬虫?
      1. requests的基本使用
      • 2.1 你的第一个爬虫程序
      • 2.2 headers请求头的重要性
      1. 案例:豆瓣电影`Top250`数据请求
      1. 网页解析

在这里插入图片描述
推荐阅读:

  1. 使用xpath爬取数据
  2. jupyter notebook使用
  3. BeautifulSoup爬取豆瓣电影Top250
  4. 一篇文章带你掌握requests模块
  5. Python网络爬虫基础–BeautifulSoup

1. 什么是爬虫?

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

2. requests的基本使用

Python里边请求网页,一般用到的是requests模块

安装模块

pip install requests


















方法 描述
requests.get() 请求指定的页面信息,并返回实体主体
requests.post() 向指定资源提交数据进行处理请求(例如提交表单)

常用方法:

  • url :需要请求的链接
  • headers : 请求头(很重要!!!)

响应对象:































方法 描述 用处
text 返回响应体文本信息 文本内容
content 返回二进制响应内容 图片、音乐、视频等
status_code 查看响应码 查看请求成功与否
json() 返回json内容,将返回内容中的数据以键值对的方式提取出来 json格式的数据

响应码:






























状态码 描述
1 指示信息–表示请求已接收,继续处理
2 成功–表示请求已被成功接收、理解、接受
3 重定向–信息不完整需要进一步补充
4 客户端错误–请求有语法错误或请求无法实现
5** 服务器端错误–服务器未能实现合法的请求

2.1 你的第一个爬虫程序

  1. import requests
  2. url = 'https://www.baidu.com'
  3. # 请求百度
  4. resp = requests.get(url)
  5. print(resp.text) # 查看文本
  6. print(resp.content) # 查看二进制的响应内容
  7. print(resp.status_code) # 查看响应码

2.2 headers请求头的重要性

这里咱们使用豆瓣电影Top250来示例:

  1. import requests
  2. url = 'https://movie.douban.com/top250'
  3. resp = requests.get(url)
  4. print(resp.status_code) # 418

这里状态码返回为418,很明显是请求不成功该网址的,下面再说如何处理

状态码总结


在这里插入图片描述


所以这个时候应该给我们的requests请求添加请求头,即将自己伪装成浏览器去进行访问。 如果想为请求添加请求头,只要简单地传递一个 dictheaders 参数就可以了。

3. 案例:豆瓣电影Top250数据请求

豆瓣电影Top250
在这里插入图片描述


  1. import requests
  2. url = 'https://movie.douban.com/top250?start=0&filter='
  3. headers = {
  4. 'user-agent':'Mozilla/5.0'
  5. }
  6. resp = requests.get(url,headers=headers)
  7. print(resp.text)

4. 网页解析

这里介绍几个从数据中提取信息的方法:






















方法 描述
BeautifulSoup 一个可以从HTML或XML文件中提取数据的Python库
XPath 在XML文档中查找信息的语言
正则表达式(re) 一个特殊的字符序列,它能方便的检查一个字符串是否与某种模式匹配。

这里只使用Xpath来做展示,其他的有兴趣可以自己动手学习哦!!

安装模块:

  1. pip install lxml
  2. pip install parsel

lxml模块:

  1. from lxml import etree
  2. parse_html = etree.HTML(html)

Selector模块:

  1. from parsel import Selector
  2. sel = Selector(html)
  3. # xpath解析
  4. sel.xpath('//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[2]/div/span[4]/text()').extract_first() # 第一个
  5. sel.xpath().extract() # 全部
  6. # css解析
  7. sel.css()
  8. from lxml import etree
  9. parse_html = etree.HTML(resp.text)
  10. # 电影名称
  11. parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[1]/a/span[1]/text()')
  12. # 导演、演员
  13. parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/p[1]/text()[1]')
  14. # 上映日期
  15. parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/p[1]/text()[2]')
  16. # 评分
  17. parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/div/span[2]/text()')
  18. # 评论人数
  19. parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/div/span[4]/text()')
  20. # 评语
  21. parse_html.xpath('//*[@id="content"]/div/div[1]/ol/li/div/div[2]/div[2]/p[2]/span/text()')

发表评论

表情:
评论列表 (有 0 条评论,422人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python 爬虫入门实战

    首先自我介绍一下,我是一个做 Java 的开发人员,从今年下半年开始,一直在各大技术博客网站发表自己的一些技术文章,差不多有几个月了,之前在 cnblog 博客园加了网站...

    相关 爬虫基础入门— — Python

    爬虫基础入门 1 概念 > 所谓爬虫其实就是我们通过代码向服务器发起请求,然后解析服务器响应给我们的数据。例如:将服务器响应给我们的html数据,解析出来,获取豆瓣

    相关 Python爬虫入门指南

    Python是一种功能强大的编程语言,被广泛应用于数据科学、Web开发、自动化等领域。其中,Python爬虫技术可以帮助我们从互联网上获取数据,应用广泛。如果您是编程新手或想学

    相关 Python爬虫Scrapy入门

    Scrapy组成 Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。 ![在这里插入图片描述]

    相关 python3 爬虫入门

    这里爬取猫眼电影 TOP100 榜的信息,作为学习的第一个Demo。 今天开始接触的python,从爬虫开始。 语言相对来说比较简单,环境配置到是花了不少时间。 作为