所谓动态页面,简单来说就是该页面的数据在你访问的时候并不是一下子给你,而是随着你的浏览逐渐展现,譬如豆瓣电影分类中的页面,数据会随着你的浏览逐渐呈现,并没有页面的跳转过程。所以我们要爬取的就是服务器返回的链接(画红线的链接),并不能直接爬取网页链接。

from urllib.request import Request,urlopen
from fake_useragent import UserAgent
from urllib.parse import urlencode
base_url="https://movie.douban.com/j/chart/top_list?type=24&interval_id=100:90&action=&start={}&limit=20"
for i in range(100):
headers={
"User-Agent":UserAgent().chrome
}
url=base_url.format(i*20)
url=Request(url,headers=headers)
response=urlopen(url)
info=response.read().decode()
if info==""or info==None:
break
print(info)
本文介绍了如何使用Python的urllib库抓取动态页面数据。以豆瓣电影分类为例,展示了通过请求不同页码来获取服务器返回的JSON数据,而非直接爬取静态网页链接。在爬取过程中,利用UserAgent防止被服务器屏蔽,并通过循环遍历获取多页数据。
5万+

被折叠的 条评论
为什么被折叠?



