查看影片的详细信息
进入豆瓣电影Top250,选择某一影片,右击,选择“检查元素”。
爬取过程
需安装的包
安装requests、etree、json。
// An highlighted block
import json
import requests
from lxml import etree
确定爬取地址
由于豆瓣电影Top250是分页的,即计划爬取的影片信息分布在不同的页面上,其对应的网址不同,故需对不同的爬取地址统一格式。
代码如下:
// An highlighted block
url_list=[]
base_url="https://movie.douban.com/top250?start={}&filter="
for i in range(0,10):
url=base_url.format(i*25)
url_list.append(url)
print(url_list)
发送请求头
很多网站有反爬虫机制,如果发送没有haeders信息的请求,会被认为是爬虫,则会被禁止请求。设置header,通过request发送请求头。header中必须包含的信息有User_Agent,还可包括Host、Referer、Cookie等,查看方式如下。
发送请求代码如下:
// An highlighted block
header={
" Host": "movie.douban.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
#Referer Cookie
}
for url in url_list:
data=requests.get(url,headers=header,allow_redirects=False).content.decode()
print(data)
解析数据
可利用BeautifulSoup或etree.HTML解析数据,此处使用后者。
// An highlighted block
xpath_data=etree.HTML(data)
通过下图,可以看到每一影片的完整信息对应的源代码为<