python爬虫入门(一)

1.Request库

Request库有七个基本方法:

python爬虫入门(一)_第1张图片

首先以requests库的request方法进行讲解:

python爬虫入门(一)_第2张图片

其次,以其中典型的get方法进行说明:

1.

r=requests.get(url)

首先get构造一个向服务器请求资源的Request对象,r是一个返回的一个包括服务器资的Response对象

python爬虫入门(一)_第3张图片

2.

r=requests.get(url,params=None,**kwargs)

params:url中的额外参数,字典或者字节流格式...可以修改url内容

python爬虫入门(一)_第4张图片

**kwargs是12个可以控制的参数:

python爬虫入门(一)_第5张图片

python爬虫入门(一)_第6张图片

特别指出,headers是一个字典,可以修改http头,比如有些网站禁止爬虫使用,我们可以修改user-agent:

hd = {'user‐agent': 'Chrome/10'}
r = requests.request('POST', 'http://python123.io/ws', headers=hd)

其余6中与get类似。

最后,是Request的标准模板:

try:
		r=requests.get(url)
		r.raise_for_status
		r.encoding=r.apparent_encoding
		return r.text
	except:
		return  ""

2.Beautiful Soup库

Beautiful Soup库是解析、遍历、维护“标签树”的功能库。

python爬虫入门(一)_第7张图片

1.首先,三种遍历方式:下行遍历、上行遍历,平行遍历。

python爬虫入门(一)_第8张图片

python爬虫入门(一)_第9张图片

python爬虫入门(一)_第10张图片

python爬虫入门(一)_第11张图片

(平行遍历发生在同一个父节点下的各节点间。)(复数的都是迭代变量,用在for循环中)

使用方法:

from bs4 import BeautifulSoup
import bs4
soup=BeautifulSoup(html,"html.parser")#soup则为返回的html内容
soup.prettify()#为html文本增加‘\n’使得看起来更好看一些

find方法:

soup.find_all(name, attrs, recursive, string, **kwargs)

python爬虫入门(一)_第12张图片

python爬虫入门(一)_第13张图片

3.正则表达式(RE)

python爬虫入门(一)_第14张图片

python爬虫入门(一)_第15张图片

正则表达式的表示类型是raw string:表示为r'text'。raw string是不包括对转义符再次转义的字符串。就是使用\d的时候,\不需要写成\\表示转义。

python爬虫入门(一)_第16张图片

 

python爬虫入门(一)_第17张图片

 

 

python爬虫入门(一)_第18张图片

python爬虫入门(一)_第19张图片

python爬虫入门(一)_第20张图片

python爬虫入门(一)_第21张图片

python爬虫入门(一)_第22张图片

python爬虫入门(一)_第23张图片

Re库默认贪婪匹配,即输出匹配最长的子串。但是存在多种匹配,都可以在操作符后面加?变成最小匹配。

python爬虫入门(一)_第24张图片

 

你可能感兴趣的:(python)