BoBuo 发表于 2021-9-26 13:51

Python自学记录--爬取豆瓣电影排名

#爬取豆瓣电影排名
import re
import urllib.request

#确定数量
page=input("请输入您要查询的数量:")

#UA
headers={
"User-Agent":"Mozilla/5.0 \
(Windows NT 10.0; WOW64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/86.0.4240.198 \
Safari/537.36"
}

#排名链接
url="https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=0&limit="+page

#获取响应信息
req=urllib.request.Request(url,headers=headers)

#读取
data=urllib.request.urlopen(req).read().decode()

pat1=r'"rating":\["(.*?)","\d+"\]'
pat2=r'"title":"(.*?)"'

pattern1=re.compile(pat1)
pattern2=re.compile(pat2)

data1=pattern1.findall(data,re.I)
data2=pattern2.findall(data,re.I)

for i in range(len(data1)):
    print("排名:",i+1,"电影名:",data2,"豆瓣评分:",data1)
   

BoBuo 发表于 2021-9-26 19:42

很吃力,编程方面几乎完全是小白,也不懂英语,看教程,看书,看完就忘。就找题目去做,边做边搜@只有午安

我今天是大佬 发表于 2021-9-27 09:05

本帖最后由 我今天是大佬 于 2021-9-27 09:08 编辑

用re不太好, bs4或者xpath不错

________________________________

进url看了一下返回的是json格式数据, 直接import json解析就好, 没必要用re

suyaming 发表于 2021-9-26 21:51

可以尝试用bs和xpath这些,只用正则的话,很多网站用起来很麻烦

aonima 发表于 2021-9-26 17:38

看到这个好怀念

田三水 发表于 2021-9-26 14:58

感谢!大佬

BoBuo 发表于 2021-9-26 17:44

aonima 发表于 2021-9-26 17:38
看到这个好怀念

小白自学,期待老师指点

studentguo 发表于 2021-9-26 18:48

看看。。。。

BoBuo 发表于 2021-9-26 22:38

suyaming 发表于 2021-9-26 21:51
可以尝试用bs和xpath这些,只用正则的话,很多网站用起来很麻烦

感谢回复,小白自学,谢谢指点

BoBuo 发表于 2021-9-27 12:42

我今天是大佬 发表于 2021-9-27 09:05
用re不太好, bs4或者xpath不错

________________________________


感谢师兄指点,谢谢
页: [1] 2
查看完整版本: Python自学记录--爬取豆瓣电影排名