爬虫Day3

用到的网页--豆瓣电影Top250

需要爬取信息:

数据保存在网页源代码中,是服务加载方式。先拿到网页源代码--request。再通过re提取想要的信息---re。

新知识:用csv存数据,可以用excel表格展示数据

python 复制代码
import csv
result = obj.finditer(page_content)
f = open("data.csv",mode="w")
csvwriter = csv.writer(f)
for it in result:
     dic = it.groupdict()#把数据全都扔到字典里
    dic['year'] = dic['year'].strip()
    csvwriter.writerow(dic.values())
f.close()
resp.close()
print("over!")

注意:在pycharm里要对文件用utf-8重新编码,如果要用excel显示时要换回ansi编码,两者颠倒会乱码。

代码:

python 复制代码
import requests
import re
import csv

#将数据存储,存储时以逗号为分割
#肖申克的救赎,1994,9.7,3001556人评价
url = "https://movie.douban.com/top250"
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
}
resp = requests.get(url,headers = headers)
#拿到网页源代码
#print(resp.text)
page_content = resp.text
#解析数据,写正则表达式
obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)</span>.*?'
                 r'<p class="">.*?<br>(?P<year>.*?)&nbsp.*?<span class="rating_num" property="v:average">'
                 r'(?P<grade>.*?)</span>'
                 r'.*?<span>(?P<conment>.*?)</span>',re.S)
result = obj.finditer(page_content)
f = open("data.csv",mode="w")
csvwriter = csv.writer(f)

for it in result:
    # print(it.group("name"),end="    ")
    # print(it.group("year").strip(),end="    ")
    # print(it.group("grade"),end="   ")
    # print(it.group("conment"))
    #将数据整理成字典的格式
    dic = it.groupdict()#把数据全都扔到字典里
    dic['year'] = dic['year'].strip()
    csvwriter.writerow(dic.values())

f.close()
resp.close()
print("over!")

可以看到每一页的榜单链接只有一个参数改变,爬取信息时可以只改参数。

相关推荐
kyrie_sakura39 分钟前
python学习笔记 7--- 文件(IO)操作
笔记·python·学习
Patrick在香港39 分钟前
Claude Agent 进阶编排:循环控制 + 写权限审批闸门 + 幂等重试
python·agent·claude·编排·anthropic api
Highcharts.js42 分钟前
Highcharts for Python 一套 Python 可视化图表生成库
开发语言·python·highcharts·可视化图表
程序员小远2 小时前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
增量星球2 小时前
一个 Python 脚本 + LLM 怎么替代向量检索?ProjQA 技能架构原理深度解析
开发语言·python·架构·embedding·skill
SamChan902 小时前
Python+PyMuPDF提取PDF表格并翻译:表格结构检测与双语重建实战
windows·python·ai·pdf·wpf
weixin_307779132 小时前
PySpark根据输入的表名和过滤条件生成 INSERT 语句
python·spark·云计算·big data
GodSure09142 小时前
Java单一职责原则SRP详解
java·python·单一职责原则
Mojitocean2 小时前
Win开发环境配置(持续更新)
开发语言·python