豆瓣算是一个对爬虫比较友好的网站了,没有反爬虫机制,结构也简单,比较容易爬。
试着爬了一个陌生博主的豆瓣日记,并且下载到了本地。
实现如下:
1.引用模块与库
首先召唤需要用到的模块和库,其中requests、BeautifulSoup4需要另外下载
import urllib #自带的标准库,用于操作url
import requests #requests库,用来发送与获取Http请求
from bs4 import BeautifulSoup #下文使用最多的模块是beautifulsoup
import re #过滤数据时用到re模块的正则表达式
2.设置代理、获取响应
通过代码与对方服务器交换数据时,对方得到你的身份是‘python’,一些网站会拒绝这种访问,所以我们要设置代理,假装自己是在通过mac系统的浏览器访问。
访问对方网站是一个请求对方服务器资源的过程,这一过程在这里通过requests.get()实现。
headers = {
'User-Agent':'Mozilla/5.0(Macintosh;Intel Mac OS X 10_12_3)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'} #访问豆瓣之类比较友好的网站时可省略这一步
r = requests.get('https://www.douban.com/people/122624856/notes', headers = headers)