您的位置:首页 > 财经 > 产业 > Python 爬虫实战----3(实力展现)

Python 爬虫实战----3(实力展现)

2024/12/23 6:29:40 来源:https://blog.csdn.net/2401_84670644/article/details/140593168  浏览:    关键词:Python 爬虫实战----3(实力展现)

实战:获取豆瓣电影top250的电影名字

1.获取url:打开网站按发f12,点击网络,刷新找到第一个截取url和User-Agent。

2.请求爬取数据

mport requests
import fake_useragent
from lxml import etree
import re
#UA
head = {"User-Agent": fake_useragent.UserAgent().random}#这里使用了fake_useragent,会自动生成一个user-agenturl = "https://movie.douban.com/top250"
response = requests.get(url, headers=head)

2.定位想要的数据(其他数据也可以,同样找地址)

在元素中定位(列表一般都是有序的,所以只用定位一个例子)

response = requests.get(url, headers=head)
res_text = response.text
tree = etree.HTML(res_text)
#定位需要的数据
list_li=tree.xpath("//ol[@class='grid_view']/li")
for li in list_li:movie_name="".join(li.xpath(".//span[@class='title'][1]/text()"))

我们进入下一个页面,发现下一个页面多了start=25的参数,可判断下下个页面是start=50,以此类推,可以通过遍历访问每一个页面。

https://movie.douban.com/top250?start=25&filter=
for i in range(0, 250, 25):url = f"https://movie.douban.com/top250?start={i}&filter="

修改url

3.输出并储存:

# 打开一个文件写入数据
fp = open("./doubanFilm.txt", "w", encoding="utf8")
fp.write(movie_name+"\n")print(movie_name)
fp.close()

总结:将每一步整合:

import requests
import fake_useragent
from lxml import etree#UA
head = {"User-Agent": fake_useragent.UserAgent().random}
# 打开一个文件写入数据
fp = open("./doubanFilm.txt", "w", encoding="utf8")for i in range(0, 250, 25):url = f"https://movie.douban.com/top250?start={i}&filter="response = requests.get(url, headers=head)res_text = response.texttree = etree.HTML(res_text)
#定位需要的数据list_li=tree.xpath("//ol[@class='grid_view']/li")for li in list_li:movie_name="".join(li.xpath(".//span[@class='title'][1]/text()"))fp.write(movie_name+"\n")print(movie_name)
fp.close()

运行:

运行成功,想要其他的数据也是可行的,只需找到需要的地址,以一个为例即可,每个的规律相同

爬虫重在仔细,耐心。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com