电影网站数据的爬取-Ajax+动态渲染
以下是一个使用Python的requests和BeautifulSoup库以及Ajax动态数据加载的简化示例代码。
import requests
from bs4 import BeautifulSoup
import json
# 设置请求头,模拟浏览器访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 目标网页URL
url = 'https://movie.douban.com/j/chart/top_list?'
# 发送GET请求
response = requests.get(url, headers=headers)
# 检查请求是否成功
if response.status_code == 200:
# 解析JSON数据
data = json.loads(response.text)
# 提取电影信息
for item in data['subjects']:
print(item['title'] + ' - ' + item['url'])
else:
print("请求失败")
这段代码通过构造的URL向目标网站发送GET请求,请求的内容是通过Ajax动态加载的JSON数据。然后解析JSON数据并打印出电影的名称和对应的URL。注意,实际应用中可能需要处理更多的反爬策略,如需进一步的反爬机制,可能需要添加验证码识别、代理、登录态保持等。
评论已关闭