博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常见Python爬虫工具总结
阅读量:5121 次
发布时间:2019-06-13

本文共 1503 字,大约阅读时间需要 5 分钟。

常见Python爬虫工具总结

前言

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

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

  • selenium
  • requests-html

selenium

简介

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

安装
  • 使用pip install selenium安装selenium
  • 安装对应浏览器驱动,chrome的可以去下载
  • 把驱动copy到/usr/local/bin下(非必须,不拷贝的话在使用的时候需要制定驱动的路径)
简单使用
from selenium import webdriverdriver = webdriver.chrome.webdriver.WebDriver()driver.get("https://www.lagou.com/jobs/3490584.html")# 获取源码a = driver.page_source.encode('utf-8')# 查找资源/tagdriver.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
使用
from requests_html import HTMLSessionsession = HTMLSession()r = session.get('https://python.org/')# 获取页面上的链接r.html.linksr.html.absolute_links# 用css选择器选择一个元素about = r.html.find('#about', first=True)print(about.text)# xpathr.html.xpath('a')

参考

  • https://html.python-requests.org/#javascript-support
  • https://blog.csdn.net/zhusongziye/article/details/79393004
  • http://www.cnblogs.com/jinxiao-pu/p/6677782.html
  • https://blog.csdn.net/JavaLixy/article/details/77874715
  • https://blog.csdn.net/qq_30242609/article/details/79323963

转载于:https://www.cnblogs.com/wswang/p/9405915.html

你可能感兴趣的文章
GDOI DAY1游记
查看>>
MyBaits动态sql语句
查看>>
HDU4405(期望DP)
查看>>
拉格朗日乘子法 那些年学过的高数
查看>>
vs code 的便捷使用
查看>>
Spring MVC @ResponseBody返回中文字符串乱码问题
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JS 中的跨域请求
查看>>
JAVA开发环境搭建
查看>>
mysql基础语句
查看>>
cassandra vs mongo (1)存储引擎
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
#Leetcode# 209. Minimum Size Subarray Sum
查看>>
SDN第四次作业
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>