爬虫相关的一些命令

2019-01-02  本文已影响0人  要你何用杀了算了

requests
requests是python实现的最简单易用的HTTP库,建议爬虫使用requests

import requests
url = "https://api.github.com/events"

获取某个网页

import requests
r = requests.get("https://api.github.com/events")
print(r)                # <Response [200]>
print(type(r))          # <class 'requests.models.Response'>  
print(r.status_code)    # 200
各种请求
# 发送一个 HTTP POST 请求:
r = requests.post("http://httpbin.org/post",data = {'key':'value'})
r = requests.delete('http://httpbin.org/delete')    # 发送一个 HTTP delete 请求:
r = requests.head('http://httpbin.org/get')         # 发送一个 HTTP head 请求:
r = requests.options('http://httpbin.org/get')      # 发送一个 HTTP options 请求:

get 传递URL参数

?+键值对

response1 = requests.get("http://httpbin.org/get?key1=value1")
print(response1.url)
#http://httpbin.org/get?key1=value1
requests提供了params关键字参数来传递参数
parameter = {
            "key1":"value1",
            "key2":"value2"
            }
response2 = requests.get("http://httpbin.org/get",params = parameter)
print(response2.url)
# http://httpbin.org/get?key1=value1&key2=value2

还可以将一个列表作为值传入

parameter = {
            "key1":"value1",
            "key2":["value21","value22"]
}
response3 = requests.get("http://httpbin.org/get",params = parameter)
print(response3.url)
# http://httpbin.org/get?key1=value1&key2=value21&key2=value22

注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里。

parameter = {
            "key1":"value",
            "key2":None
}
response4 = requests.get("http://httpbin.org/get",params = parameter)
print(response4.url)    #http://httpbin.org/get?key1=value

Selenium
Selenium 是一套跨平台的浏览器自动化测试框架(工具),支持在多种系统环境、多种浏览器环境下使用,还可以使用多种编程语言来编写测试。

Selenium 有多个项目构成,形成了一个多功能的测试系统:

XPath
1.什么是XPath
Wikipedia这样解释XPath:XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。这里讨论的是在XPath语言规范下,封装而成的一种解析XML文档的技术。在PHP,Python里,具体是指xpath这个函数。所以,Wikipedia提到的对XML文档某部分位置的定位,就是用XPath的规范,定位到这个部分,为我所用。我们的目的是解析HTML网页中的元素,将HTML转换成XML文档之后,就是XPath出鞘之时。具体的转换方法,因开发环境而异,后文会附上一些实际工作中遇到的问题。下文所述的xpath()函数均指PHP语言核心函数库中的函数xpath()。

2.XPath 路径表达式
在使用XPath之前,需要先了解下XPath的节点,路径概念,这也是XPath这门语言的单词和语法。不求全通,至少了解嘛。其中,路径表达式是xpath()的传入参数。xpath()使用路径表达式对XML文档中的某个节点(或者多个节点)进行定位。路径表达式实例:/html/body/div[@class=”content”] 。按照节点和路径概念,这个表达式是按照html,body,div层级关系,寻找属性里有class=”content”的div节点。当然,这个结果也可能是多个节点。

Beautiful Soup 库一般被称为bs4库,支持Python3,是我们写爬虫非常好的第三方库。因用起来十分的简便流畅。所以也被人叫做“美味汤”。目前bs4库的最新版本是4.60。下文会介绍该库的最基本的使用,具体详细的细节还是要看:[官方文档](Beautiful Soup Documentation)

bs4
Beautiful Soup 库一般被称为bs4库,支持Python3,是我们写爬虫非常好的第三方库。因用起来十分的简便流畅。所以也被人叫做“美味汤”。目前bs4库的最新版本是4.60。下文会介绍该库的最基本的使用,具体详细的细节还是要看:[官方文档](Beautiful Soup Documentation)

bs4库的安装
安装的方式非常简单:我们用pip工具在命令行里进行安装

 pip install beautifulsoup4

事实上,bs4库 是解析、遍历、维护、“标签树“的功能库。
通俗一点说就是: bs4库把html源代码重新进行了格式化,

从而方便我们对其中的节点、标签、属性等进行操作

上一篇 下一篇

猜你喜欢

热点阅读