1、流程框架
1.1、抓取单页内容
利用requests请求目标站点,得到单个网页HTML代码,返回结果。
1.2、正则表达式分析
根据HTML代码分析得到电影的排名、地址、名称、主演、上映时间、评分等信息。
1.3、保存至文件
通过文件的形式将结果保存,每一部电影一个结果一行Json字符串。
1.4、开启循环及多线程
对多页内容遍历,开启多线程提高抓取速度。
2、抓取单页内容
必须在headers中添加上User-Agent字典内容伪装成浏览器,进行requests.get请求才会得到正确的信息回复,否则就是如下图所示的信息:
import requests
import re
from requests.exceptions import RequestException
def get_one_page(url):
try:
#在headers中添加上User-Agent字典内容伪装成浏览器
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'
}
response = requests.get(url,headers=headers)
if response.status_code == 200:
return response.text
return None
except RequestException:
return None
def main(offset):
url = "http://maoyan.com/board/4?offset="+str(offset)
html = get_one_page(url)
print(html)
if __name__ == '__main__':
main(0)
3、正则表达式分析
impo