python豆瓣电影爬虫
爬取网址:https://movie.douban.com/tag/#/?sort=U&range=0,10&tags=美国
我们爬取的内容为文本,爬取前我们需要进行网页的分析
如图所示:我们可以看到我们的主要爬取数据存储在响应的其中一个页面中
具体怎么查看和分析目前不做介绍了。
# coding=utf-8
from parse import parse_url
import json
class DoubanSpider:
def __init__(self):
self.temp_url = "https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=%E7%94%B5%E5%BD%B1&start={}&countries=%E7%BE%8E%E5%9B%BD"
def get_content_list(self, html_str): # 提取数据
dict_data = json.loads(html_str)
content_list = dict_data["data"]
return content_list
def save_content_list(self, content_list): # 保存数据
with open("douban.txt", "a", encoding="utf-8") as f:
for content in content_list:
f.write(json.dumps(content, ensure_ascii=False))
f.write("\n")
print("保存成功")
def run(self): # 实现主要逻辑
num = 0
while num < 1000:
# 1.start_url
url = self.temp_url.format(num)
print(url)
# 2.发送请求,获取响应
html_str = parse_url(url)
# 3.提取数据
content_list = self.get_content_list(html_str)
# 4.保存
self.save_content_list(content_list)
# 5.构造下一页的url地址,循环2-5
num += 20
if __name__ == '__main__':
douban = DoubanSpider()
douban.run()
运行完后会得到一个txt文件存储着所爬取的信息