……
文章目录
……
一,创建 DouBanFilmSpider.py
1.提供URL, HTTP request
urllib\requests\selenium
2.response, 解析,提取目标数据
re\Beautifulsoup\pyquery\xpath
3.保存
JSON\txt\csv\数据库\图片\视频
# 导入requests模块 和 BeautifulSoup模块
import requests
from bs4 import BeautifulSoup
# 豆瓣TOP250的url地址
url = 'https://movie.douban.com/top250'
# 所有1-10页的url地址组成的列表
url_list = ['https://movie.douban.com/top250?start=%d&filter=' % i for i in range(0, 226, 25)]
# 无法解析的特殊字符列表
unrecognized_charList = [u'\xa0',u'\xf4',u'\xee',u'\xf6',u'\u0161',u'\xfb',u'\xe5']
class Spider:
__unrecognized_charList = (u'\xa0', u'\xf4', u'\xee', u'\xf6', u'\u0161', u'\xfb', u'\xe5', u'\u22ef')
def __init__(self, url=None, url_list=None):
self.__titles = [] # 电影标题
self.__comments = [] # 电影影评
self.__details = [] #电影详细内容(导演和年份等)
if url and not url_list: # 如果只传了一个url地址
self.get_contents(url) # 调用函数
elif url_list: # 如果传了一个url列表
for url in url_list:
self.get_contents(url)
def get_contents(self, url):
# 首先解析,然后查找ol元素里面的li列表,得到电影列表
self.__movie_list = BeautifulSoup(requests.get(url).text, 'html.parser').find('ol').