1、json.loads()解码python json格式
json.load()加载python json格式文件
因此使用requests.get(url)和urllib.urlopen(url)获取内容的方式如下:
2、关于爬取Ajax动态加载(翻页时url不变)的网页+网站
(1)中国票房网,周票房,无论选取哪一周,网址均为http://www.cbooo.cn/movieweek
对于该类网站,需要找出隐藏的真实网址。
XHR:XMLHttpRequest
图中Request URL 即为真实网址,设置不同的sdate参数即可获取不同周的数据。
(2)对于网页中含有下一页的网页数据爬取
一般下一页的url会变化,找出规律构造url即可。爬取多少页就构造几个url,若需要爬取到最后一页,需要设置停止参数,只需观察最后一页和不是最后一页参数的差异找出最后一页的参数。
以淘宝为例,Elements视图下定位第99页和第100页的代码,可以发现参数不一致。
(3)关于网页中含有显示更多或者加载更多按钮的,或者直接下拉就会显示更多内容的页面
4、关于请求网页的两种方式post和get:
(1)get:用于获取url的信息,无副作用,数据在url中对所有人都可见。浏览器有字符长度限制(1024)。
例如以下url中,包含网页参数。(注:?之后即为参数,以&连接)
https://s.taobao.com/search?initiative_id=tbindexz_20170306&ie=utf8&spm=a21bo.2017.201856-taobao-item.2&sourceId=tb.index&search_type=item&ssid=s5-e&commend=all&imgfile=&q=面霜
(2)post:用于修改服务器上的数据,不可缓存。
url中若包含个人信息(用户名和密码等)显然是不安全的,post以formdata(构造表单)的形式传递参数,安全且可以解决浏览器中的url长度限制问题。
查看网页请求方式及参数: 转 2、
5、关于爬取需要登陆才能访问的页面
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试