资源简介
本爬虫实现的功能:
随便在豆瓣网站中选择一部电影,获取影片详细信息,并自动获取该影片的短评链接,再跳转到短评页面,获取各位观众的影评,最后将爬取的数据存储到数据库中。
开发环境:
python3 + pycharm +WIN +mysql
代码片段和文件信息
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import re
import os
import pymysql
#from itertools import islice
# 获取网页文档,创建BeautifulSoup对象
def get_soup(url):
res = requests.get(url) # 获取网页
res.encoding = ‘utf-8‘ # 最好设为utf-8,防止不必要的麻烦
#print(res.text)
soup = BeautifulSoup(res.text‘html.parser‘)
# print(soup)
return (soupres) # 这里同时返回res是为后面的正则表达式服务
# 获取影片部分信息
def get_movie_comment(movie_url):
(soupres) = get_soup(movie_url)
f = open(“F:\\SpiderDB\\movie.txt“ “a“encoding=‘utf-8‘)
for items in soup.select(‘#content‘):
#print(items)
movie_name = items.select(‘span‘)[0].text
print(movie_name)
f.write(movie_name + ““)
for info in soup.select(‘#info‘):
#print(info)
director = info.select(‘.attrs‘)[0].text
print(director)
editor = info.select(‘.attrs‘)[1].text
actors = info.select(‘.attrs‘)[2].text.strip()
actor = actors.split(“/“)[0:2]
actor = ‘‘.join(actor)
print(actor)
style = ‘ ‘.join([style.text for style in info.select(‘span[property=“v:genre“]‘)]) # python 简洁一行
print(style)
time = info.select(‘span[property=“v:initialReleaseDate“]‘)[0].text
time = re.split(‘\(‘time)[0]
print(time)
comment_url = items.select(‘.mod-hd span.pl a‘)[0][‘href‘]
#print(type(comment_url))
print(comment_url)
f.write(director + ““)
f.write(editor + ““)
f.write(actor + ““)
f.write(style + ““)
f.write(time + ““)
f.write(comment_url + ‘‘)
f.close()
get_eval(comment_url)
for i in range(2020020): ##从start=20开始,间隔为20
new_url = comment_url.replace(“status=P““start={}“).format(i)
#print(new_url)
get_comment(new_url)
# 获取评论整体情况
def get_eval(comment_url):
(soup1 res1) = get_soup(comment_url)
movie_comment = soup1.select(‘#content h1‘)[0].text.rsplit(‘ 短评‘)[0]
f = open(“F:\\SpiderDB\\movie.txt“ “a“ encoding=‘utf-8‘)
f.write(movie_comment + ““)
for it in soup1.select(‘.comment-filter‘):
#print(it)
good_eval = it.select(‘.filter-name‘)[1].text #评价
good_cp = it.select(‘span.comment-percent‘)[1].text #好评率
common_eval = it.select(‘.filter-name‘)[2].text
common_cp =it.select(‘span.comment-percent‘)[2].text
bad_eval = it.select(‘.filter-name‘)[3].text
bad_cp = it.select(‘span.comment-percent‘)[3].text
# print(common_eval)
# print(bad_eval)
f.write(good_eval + “:“)
f.write(good_cp + ““)
f.write(common_eval + “:“)
f.write(common_cp + ““)
f.write(bad_eval + “:“)
f.write(bad_cp)
f
相关资源
- 利用Python爬虫抓取网页上的图片含异
- python爬虫抓取百度贴吧中邮箱地址
- Python爬虫库requests获取响应内容、响应
- Python爬虫爬取51Job职位数据
- 利用python爬虫爬取王者荣耀数据.py
- Python爬虫爬取豆瓣电影
- python爬虫样例
- Python爬虫代码
- python爬虫 破解js加密有道词典案列的
- python爬虫之豆瓣电影使用requests、lx
- 最好中国大学近几年排名及python爬虫
- python爬虫爬取企业详细信息
- 新浪微博爬虫代码+结果
- python爬虫淘宝图片
- python爬虫爬取企查查公司工商信息
- 一加云服务照片批量导出 Python爬虫
- Python爬虫抓取Ebay页面
- python爬取豆瓣每个账户对电影的评分
- 使用python对淘宝商品信息数据进行爬
- python爬虫Scrapy(一)-我爬了boss数据
- 豆瓣电影信息Python爬虫存入MongoDB.一分
- Python爬虫文件:爬取图片的程序.py
- 基于Python爬虫的股票信息爬取保存到
- Python爬虫每日抓取必应壁纸
- Python爬虫源码—爬取猫途鹰官方旅游
- python爬取百度搜索新闻,并自动生成
- python爬虫数据可视化分析大作业.zip
- python爬虫--爬取youtobe红人信息
- python简单爬虫抓取网页内容
- python 爬虫源码
评论
共有 条评论