这篇文章给大家分享的是有关java爬虫如何爬取猫眼电影TOP榜数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
爬虫是如何爬取猫眼电影TOP榜数据的。主要抓取的内容有排名、图片、电影名称、主演、上映时间和评分信息。在抓取之前,我们先打开猫眼电影TOP100页面,研究分析页面,查找我们需要的信息位置,然后抓取。
代码如下:
import json
import requests
from requests.exceptions import RequestException
import re
import time
def get_one_page(url):
try: headers = { 'User-Agent': 'agent信息'} response = requests.get(url, headers=headers) if response.status_code == 200: return response.text return Noneexcept RequestException: return None
def parse_one_page(html):
pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a' + '.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>' + '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)items = re.findall(pattern, html)for item in items: yield { 'index': item[0], 'image': item[1], 'title': item[2], 'actor': item[3].strip()[3:], 'time': item[4].strip()[5:], 'score': item[5] + item[6] }
def write_to_file(content):
with open('result.txt', 'a', encoding='utf-8') as f: f.write(json.dumps(content, ensure_ascii=False) + '\n')
def main(offset):
url = 'http://maoyan.com/board/4?offset=' + str(offset)html = get_one_page(url)for item in parse_one_page(html): print(item) write_to_file(item)
if name == 'main':
for i in range(10): main(offset=i * 10) time.sleep(1)
通过上述代码,我们就可以获取到猫眼电影TOP榜数据信息了。
感谢各位的阅读!关于“java爬虫如何爬取猫眼电影TOP榜数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!