python 爬虫-----爬取 豆瓣Top250 排行榜电影
step1.
打开网页 并且产看源代码 使用shift+F 搜索原网页中的想查找的内容 发现源代码中存在相关信息 说明该网页是服务器加载的数据 所以我们的任务就是提取源代码并且利用re正则表达式提取数据
step2.
输入代码,请求获取网页源代码,发现无响应,说明网页采用反扒措施,需要更改用户代理User_Agent
1 2 3 4 5 6 7 | import requests import re url = "https://movie.douban.com/top250" resp = requests.get(url) print (resp.text) |
step3.
输入headers 更改代理,解决反扒
import requests import re url = "https://movie.douban.com/top250" header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52" } resp = requests.get(url, headers=header) page_content = resp.text
step4.
数据解析,在源代码中搜索希望得到的数据,从前方某一处设置为起始正则表达式匹配地址
step5.书写代码,并闯将CSV文件,将数据储存到CSV文件中去
import requests import re import csv url = "https://movie.douban.com/top250" header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52" } resp = requests.get(url, headers=header) page_content = resp.text #解析数据 obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)' r'</span>.*?<p class="">.*?<br>(?P<year>.*?) ' r'.*?<span class="rating_num" property="v:average">(?P<score>.*?)</span>' r'.*?<span>(?P<number>.*?)</span>', re.S) result = obj.finditer(page_content) f = open("datamovie.csv", mode="w")#创建文件并打开 csvwriter = csv.writer(f)#写入文件 for it in result: # print(it.group("name")) # print(it.group("score")) # print(it.group("number")) # print(it.group("year").strip())#Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 # #注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。 dic = it.groupdict()#创建字典 dic['year'] = dic['year'].strip() csvwriter.writerow(dic.values()) f.close()#关闭文件 print("over!") resp.close()#关闭连接
hello my world
本文来自博客园,作者:slowlydance2me,转载请注明原文链接:https://www.cnblogs.com/slowlydance2me/p/16833844.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库