常见Python爬虫工具总结

枫铃3年前 (2021-07-23)Python296

前言

以前写爬虫都是用requests包,虽然很好用,不过还是要封装一些header啊什么的,也没有用过无头浏览器,今天偶然接触了一下。

原因是在处理一个错误的时候,用到了几个以前没有用过的工具;这几个工具也挺常见的,在这里一起总结一下。包括以下几个:

  • selenium
  • requests-html

selenium

简介

selenium是一个网页自动化测试的工具,既然是网页测试的,那么肯定支持各种浏览器了,常见的Firefox/Chrome/Safari都支持;当然,也需要你下载对应浏览器的驱动了。下面简单说一下他的使用方式。

安装

  • 使用pip install selenium安装selenium
  • 安装对应浏览器驱动,chrome的可以去这里下载
  • 把驱动copy到/usr/local/bin下(非必须,不拷贝的话在使用的时候需要制定驱动的路径)

简单使用

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from selenium import webdriver

driver = webdriver.chrome.webdriver.WebDriver()
driver.get("https://www.lagou.com/jobs/3490584.html")

# 获取源码
a = driver.page_source.encode('utf-8')

# 查找资源/tag
driver.find_element_by_xpath(u"//img[@alt='强化学习 (Reinforcement Learning)']").click()
driver.find_element_by_link_text("About").click()

# 截图
driver.get_screenshot_as_file("./img/sreenshot1.png")

requests-html

简介

是不是看见requests很熟悉,没错,这个就是会拍照又会写代码的requests的作者写的又一个库;

这个库代码并不是很多,都是基于其他库封装的,lxml/requests啊这些;使用也很简单,遵循了他的宗旨:for humans

安装

pip install requests-html

使用

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from requests_html import HTMLSession

session = HTMLSession()
r = session.get('https://python.org/')

# 获取页面上的链接
r.html.links
r.html.absolute_links

# 用css选择器选择一个元素
about = r.html.find('#about', first=True)
print(about.text)

# xpath
r.html.xpath('a')

相关文章

Python的缩进规则

Python中的缩进&#...

编写python高质量python代码的59个有效方法

第1条:确认自己的python版本 第2条:遵循PEP8的风格 1.空格 对于 占据多行的长表达式来说, 除了首行之外的其余各行都应该在通常的缩进级别上...

python中常见的一些题目汇总

1.想创建一个空的列表,我们可以用下面的 A、B 两种方式,请问它们在效率上有什么区别吗?我们应该优先考虑使用哪种呢...

四种python 单继承的实现方式

第一类单继承的实现&#x...

Python字符串截取值

Python字符串截取值

接口返回一个json。j...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。