import requests
import re
#爬取豆瓣top250
def get250(count):
f = open(r'top250.csv', 'w', encoding='utf-8')
head = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0"
}
url = 'https://movie.douban.com/top250?start=%s&filter='% count
rq = requests.get(url, headers=head)
r = rq.text
obj = re.compile(r'<div class="item">.*?<div class="pic">.*?<em class="">(?P<id>\d+)</em>.*?<a href.*?<img width="100" alt="(?P<name>.*?)" src=.*?导演:(?P<dao>.*?) .*?property="v:average">(?P<fen>\d+.\d)</span>.*?<span class="inq">(?P<ping>.*?)</span>'
, re.S)
result = obj.finditer(r)
for item in result:
id = item.group("id")
name = item.group("name")
dao = item.group("dao")
fen = item.group("fen")
ping = item.group("ping")
print(id, name, dao, fen, ping)
f.write(f"{id},{name},{dao},{fen},{ping}\n")
if __name__ == '__main__':
count = 0
for i in range(10):
get250(count)
count += 25
requests简单实现
于 2023-07-16 05:31:39 首次发布