爬取豆瓣电影Top250的电影的排名、名字和评分
爬取网站: https://movie.douban.com/top250
代码如下:`
#引入requests库
import requests
#从BeautifulSoup中引入bs4 库
from bs4 import BeautifulSoup
定义函数 功能:爬取网页
def reptile( url ):
# 以追加的方式打开文档,若文档不存在,则自动生成
f = open("films.txt",mode="a",encoding="utf-8")
# 添加请求头模拟浏览器中用户访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'
}
#响应请求获取网页页面
content = requests.get(url,headers=headers).text
# 用html.parser解析页面内容
page = BeautifulSoup(content,"html.parser")
# 获取目标数据
# 分析网页,定位目标数据所在标签
ol = page.find("ol")
li_list = ol.find_all("li")
# 循环遍历定位标签
for li in li_list:
# 在li标签中查找em标签
em = li.find("em")
# 只查找span标签中'class'='title'的标签
name = li.find('span',{'class':'title'})
# 只查找span标签中'class'='rating_num'的标签
score = li.find('span',{'class':'rating_num'})
# 写入文档
f.write(em.text.strip() + "," + name.text + score.text)
f.write("\n")
# 关闭文件
f.close()
用循环依次爬取10个网页
i=0; #定义变量,控制爬取的页面数
while i!=250:
url = “https://movie.douban.com/top250?start=”+str(i)+"&filter="
# 分析可只,网页以25为递增序列
i+=25
#将 网址 url 传入爬取函数 down()
reptile( url )
`
完整代码:
#引入requests库
import requests
#从BeautifulSoup中引入bs4 库