爬虫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!")

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

相关推荐
无名-CODING11 分钟前
Java 爬虫进阶:动态网页、多线程与 WebMagic 框架实战
java·爬虫·okhttp
纤纡.15 分钟前
基于 PyTorch 手动实现 CBOW 词向量训练详解
人工智能·pytorch·python·深度学习
词元Max19 分钟前
2.5 Python 类型注解与运行时类型检查
开发语言·python
沪漂阿龙20 分钟前
深度解析Pandas数据组合:从concat到merge,打通你的数据处理任督二脉
python·数据分析·pandas
童园管理札记27 分钟前
2026实测|GPT-4.5+Agent智能体:3小时搭建企业级客服系统,附完整源码与部署教程(一)
经验分享·python·深度学习·重构·学习方法
大飞记Python34 分钟前
【2026更新】Python基础学习指南(AI版)——安装
自动化测试·python·ai编程
AI街潜水的八角1 小时前
YOLO26手语识别项目实战1-三十五种手语实时检测系统数据集说明(含下载链接)
python·深度学习
2401_827499991 小时前
python核心语法03-数据存储容器
开发语言·python
哈伦20191 小时前
第一章 Jupyter Notebook基础实操
python·jupyter·基础操作
人道领域1 小时前
2026技术展望】Python与AI的深度融合:从“能用”到“好用”的质变之年
人工智能·python·大模型·agent