您当前的位置: 首页 >  爬虫

潇洒白羊

暂无认证

  • 2浏览

    0关注

    68博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

爬虫小案例02—使用re模块爬取排行榜信息,one page

潇洒白羊 发布时间:2022-02-04 23:35:51 ,浏览量:2

具体步骤如下:

1、明确爬取的网址,并检查所要获取的内容是否在网页源代码中 2、加载所有的包,并尝试获取网页源代码 3、解析数据 4、开始匹配 5、将数据保存为csv格式,方便数据分析时使用

1、本此爬取的网址及想要获取的内容

网址是:https://movie.douban.com/chart 预获取的内容: 在这里插入图片描述 在网页上面右击——检查,发现想要的数据均可以从源代码中直接获取 在这里插入图片描述

2、加载所有的包,并尝试获取网页源代码
import requests
import re
#获取页面源代码
url = "https://movie.douban.com/chart"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"   
}
rep = requests.get(url,headers = headers)
print(rep.text)

成功获取,和在浏览器中查看的源代码是一致的,没有乱码 在这里插入图片描述

3、解析数据

欲获取的内容应该有一致的结构,里面不同的内容但是我们不需要的可以使用.*?过滤掉, 想要的内容使用(?P.*?),其中中的是组名,任取

#开始解析
obj = re.compile('.*?.*?

(?P.*?)

.*?(?P.*?).*?(?P.*?)',re.S)
4、开始匹配(可以查看匹配结果)
#进行匹配
result = obj.finditer(rep.text)
for i in result:
    print(i.group("name"))
    print(i.group("time"))
    print(i.group("score"))
    print(i.group("num"))

在这里插入图片描述

5、将数据保存为csv格式(可以将第4步省略掉)

数据保存为csv格式,方便数据分析时使用

#保存成文件,方便数据分析时使用
result = obj.finditer(rep.text)
f = open("data.csv",mode = "w")
csvwriter = csv.writer(f)
for it in result:
    #存储为字典
    dic = it.groupdict()
    csvwriter.writerow(dic.values())
#将打开的文件关闭
f.close()
print("success")

在这里插入图片描述

完整代码[可直接运行]
#导入所需要的包
import requests
import re
import csv
#获取页面源代码
url = "https://movie.douban.com/chart"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"   
}
rep = requests.get(url,headers = headers)
#开始解析
obj = re.compile('.*?.*?

(?P.*?)

.*?(?P.*?).*?(?P.*?)',re.S) #进行匹配 result = obj.finditer(rep.text) #保存成文件,方便数据分析时使用 f = open("data.csv",mode = "w") csvwriter = csv.writer(f) for it in result: #存储为字典 dic = it.groupdict() csvwriter.writerow(dic.values()) #将打开的文件关闭 f.close() print("success")
关注
打赏
1655040589
查看更多评论
立即登录/注册

微信扫码登录

0.0380s