赞
踩
window+R,输入cmd,进入控制台
pip install jupyter
新建一个文件夹,打开文件夹,进入控制台,输入jupyter notebook,即进入编辑环境。
进入编辑环境页面
查看每一页网页的url,分析它的规律
可以看出,从第二页开始,URL不同的都是’start='后面这个数,并且基数都为25。则可以分析出第一页为:https://movie.douban.com/top250?start=0&filter=
也可用for循环来分析,结果如下:
for page in range(0,226,25):
print (page)
代码如下:
for page in range(0,226,25):
url= 'https://movie.douban.com/top250?start=%s&filter='%page
print (url)
结果如下:
首先,安装requests,(win+R—输入cmd—pip install requests—enter),结果如下:
请求HTML以第一页为例:
import requests
test_url='https://movie.douban.com/top250?start=0&filter='
注:此处单引号也可以改为双引号,目的是将test_url变为字符串。
右击—检查元素—network—All—刷新,打开如下:
首先点击第一个网址,再点击header,由图中可以知道请求网址及方法:
代码如下:
import requests
test_url='https://movie.douban.com/top250?start=0&filter='
requests.get(url=test_url)
结果如下:
若改为:
import requests
test_url='https://movie.douban.com/top250?start=0&filter='
requests.get(url=test_url).text
同样没有返回值。
则是因为浏览器识别出这个语句为爬虫程序,所以拒绝返回值给我们。
伪装浏览器主要是用来躲过浏览器识别,便于成功获取数据。
首先将代码审查中的用户代理复制到请求代码中,用于伪装。
用户代理为:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36
代码表示如下:
import requests
test_url='https://movie.douban.com/top250?start=0&filter='
#设置浏览器代理,它是一个字典
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36'
}
#请求源代码向服务器发出请求
requests.get(url=test_url,headers = headers).text
结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。