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

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

相关推荐
麦麦在写代码2 分钟前
python2
python
mortimer13 分钟前
用 PySide6 打造可视化 ASS 字幕样式编辑器:从需求到实现
python·ffmpeg·pyqt
清空mega21 分钟前
从零开始搭建 flask 博客实验(2)
后端·python·flask
jiushun_suanli24 分钟前
PyTorch CV模型实战全流程(二)
人工智能·pytorch·python
咚咚王者42 分钟前
人工智能之编程基础 Python 入门:第三章 基础语法
人工智能·python
小白黑科技测评1 小时前
2025 年编程工具实测:零基础学习平台适配性全面解析!
java·开发语言·python
ejinxian2 小时前
Python 3.14 发布
java·开发语言·python
gfdgd xi3 小时前
GXDE For deepin 25:deepin25 能用上 GXDE 了!
linux·运维·python·ubuntu·架构·bug·deepin
小Pawn爷3 小时前
构建Django的Web镜像
前端·python·docker·django
dont worry about it3 小时前
使用亮数据爬虫API零门槛快速爬取Tiktok数据
开发语言·爬虫·python