我们先看一下豆瓣的robot.txt
然后我们查看top250的网页链接和源代码
通过对比不难发现网页间只是start数字发生了变化。
我们可以知道电影内容都存在ol标签下的 div class属性为hd下的a标签下的span标签的字符串
我利用的是BeautifulSoup库和requests库。
我们可以开始编写我们的爬虫了!
import requests from bs4 import BeautifulSoup import bs4 url = "https://movie.douban.com/top250" index = 0 for i in range(10): url1 = "https://movie.douban.com/top250?" start = "start=" x = i*25 filter = "&filter=" url = url1 + start + str(x) + filter #print(url) r = requests.get(url) html = r.text soup = BeautifulSoup(html, "html.parser") for hd in soup.find_all(class_ = 'hd'): index = index+1 print("{:^10}\t{:^20}\t".format(index, hd.a.span.string))
爬取结果如下:
请勿乱使用爬虫,大家要合法合规的使用。切不可为了小利而犯错误。