您的位置:首页 > Web前端 > JavaScript

python爬取网页中javascript动态添加的内容(二)

2016-12-07 23:07 363 查看
由于直接爬取整个含有javascript的网页源代码,没办法处理分页的内容,所以这次换了种方式,就是利用Chrome浏览器工具抓取javacript文件get的网址,直接从源头入手。

1.打开谷歌开发工具 F12



步骤:点击Network -- XHR(也有可能在JS,多尝试几遍) -- 接着点击clear清空一下,按F5,接着点击页面中的即可看到加载的javascript文件



点开看看:

匹配下信息了,说明我们找对了文件。接着我们只要打开文件看看里面的内容有什么规律即可。

2.分析网址网页信息


https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=20
我们注意到里面的两个参数 page_limit 和 page_start ,我们尝试改变这两个参数看看有没有变化,结果发现page_limit表示一页中能显示多少个目标值,page_start表示从哪一个目标开始显示。
因此我们只要取一个足够大的值,让page_start从0开始便可以爬取所有豆瓣电影的链接。

3.实现代码

import sys
import requests
import json
from bs4 import BeautifulSoup
import re
import pandas




因为链接存在subjects里面的url,因此我们要先去掉外面的subjects
json.loads(res.text)['subjects']


#获取子链接
def getSonurl(url):
res = requests.get(url)
content = json.loads(res.text)['subjects']
sonurl = []
for i in content:  #获取链接
sonurl.append(i['url'])
return sonurl


接着我们便能进入网址解析我们要内容了。

sonurl = getSonurl(url)  #获取子链接

for i in sonurl:
print sonurl


就这样结束了,成功解决分页的困难,当然各种各样的网站的网站解析可能不太一样,但抓取javascript文件一样的道理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: