爬虫总结

近几天在研究爬虫,但是基础好像过于薄弱。

下面整理一下爬虫的库。

首先是介绍一般爬虫也够用的一些python库

先是 urllib 然后 requests 然后 BeautifulSoup 最后 selenium.

urllib -- 是Python的一个扩展库,用于对url进行处理
在这个爬虫程序中,我们导入了 urllib 库的request模块,该模块中定义了用于访问 url 的 urlopen() 方法,该方法返回一个 HttpResponse 类对象。

urlopen 方法

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

HttpResponse类
有如下的方法:

getcode() 返回响应的 HTTP 状态代码,200或404

geturl() 返回请求的 url,通常用于确定是否遵循重定向

info() 以 email.message_from_string() 实例的形式返回页面的元信息

read() 和 readline() 用于对 HttpResponse 类型数据进行读取操作。不同的是前者读取全部内容,后者只读取某一行
 

requests -- 

是基于 urllib 开发的另外一个常用的爬虫工具,相比起 urllib 更为简洁

常用方法有 get(url)  返回response对象

当访问 Response.text 时,会使用其推测的文本编码,然后以这种编码方式输出响应内容。当然你想要的看字节形式的内容,也可以通过访问 Response.content 来获取。除此之外,还有内置的 JSON 解码器 Response.json 等

 

BeautifulSoup 

即为一个解析器的库,可以解析 html 或 xml 文件,提供了许多可以高效提取数据的方法,让提取数据变得十分简单、灵活。而且 Beautiful Soup 可以自动把 html 和 xml 文件编码格式转化成 Unicode,输出时转化成 utf-8,不需要再手动转码。 

常用方法有 find_all(),该方法用于搜索当前 tag 的所有子孙结点,并以列表形式返回匹配到的所有内容。

具体的之后会有一个专门的博客介绍,所以当前两个 得到response后,再由 BeautifulSoup 来解析。

 

Selenium

selenium 是我最开始接触的爬虫库,可以通过模拟人的操作有效的防反爬,但是速度比较慢。

一般配合 chrome或者firefox 使用。

首先先声明且调用浏览器需要通过 webdriver

from selenium import webdriver

browser = webdriver.Chrome()
browser = webdriver.Firefox()

然后通过浏览器跳转到 指定 url

from selenium import webdriver#导入库
browser = webdriver.Chrome()#声明浏览器
url = 'https:www.baidu.com'
browser.get(url)#打开浏览器预设网址
print(browser.page_source)#打印网页源代码
browser.close()#关闭浏览器

然后一般需要爬数据,则找到数据的 css 或者 xpath 来定位数据,但是这个要求数据在静态页面上,不是动态加载的。

之后还有一些更新的爬虫库或者框架,比如 Scrapy/botflow等,想仔细了解了解,之后博客应该会更新。

一般的爬虫,以上库就可以了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值