爬虫主要包括三部分:

1、获取url

2、解析url中的内容,并爬取想要的内容

3、保存内容

获取url

可以直接复制想要抓取的网址,如果网页存在分页的情况,可以用for循环,如:

for i in range(0,1):
    url = baseurl + str(i*25)

baseurl就是基础网址,通过for循环实现多页的抓取。

解析url

解析可以用requests库

基础实例

1、get请求:

r = requests.get('https://api.github.com/events')

print(r.text)

#当需要获取图片,视频,音频等文件时,需要获取的内容为二进制流,此时不能用response.text,而是response.content

定制请求头#就是把爬虫伪装成浏览器

url = 'https://api.github.com/some/endpoint'

headers = {'user-agent': 'my-app/0.0.1'}

r = requests.get(url, headers=headers)

2、post请求

在request库中进行post请求只需要用字典把data或者headers用字典封装起来放入参数内就可以。post的用法和get一摸一样,只需要把方法名改成requests.post即可。

post实例:

payload = {'key1': 'value1', 'key2': 'value2'}

r = requests.post("http://httpbin.org/post", data=payload)

print(r.text)

爬取内容

可以用bs4中的Beautifulsoup库,也可用parsel库,re正则表达式的库也行。

目前我用的是parsel库,实例:

python 爬取youku python爬取url_爬虫

通过css获得所有li标签下的内容

保存内容

python 爬取youku python爬取url_python_02