豆瓣电影TOP250和书籍TOP250爬虫
豆瓣电影 TOP250 和书籍 TOP250 爬虫
最近开始玩 Python , 学习爬虫相关知识的时候,心血来潮,爬取了豆瓣电影TOP250 和书籍TOP250, 这里记录一下自己玩的过程。
电影 TOP250 爬虫
import requests
from bs4 import BeautifulSoup
import timedef getlist(list_url):time.sleep(2)res = requests.get(list_url)soup = BeautifulSoup(res.text, 'html.parser')movie_list = soup.select('.grid_view li')for m in movie_list:rank = m.select('em')[0].textscore = m.select('.rating_num')[0].texttitle = m.select('.title')[0].textdirect = m.select('.info .bd p')[0].text.strip()actor = '\n主演:'.join(direct.split(' 主演:'))director = '年代:'.join(actor.split(' '))if m.select('.inq'):comments = m.select('.inq')[0].text.strip()else:comments = 'None'movie.append('排名: ' rank '\n''评分: ' score '\n''片名: ' title '\n'director '\n''评论: ' comments '\n''\n')if soup.select('.next a'):asoup = soup.select('.next a')[0]['href']next_page = seed_url asoupgetlist(next_page)else:print('结束')return moviedef write(movies):with open('movie.txt', 'w', encoding='utf8') as m:for a in movies:m.write(a)def main():write(getlist(seed_url))passif __name__ == '__main__':seed_url = 'https://movie.douban.com/top250'movie = []main()
书籍 TOP250 爬虫
import bs4
import requests
import re
from bs4 import BeautifulSoup
from operator import itemgetterdef getHtmlText(url):try:r = requests.get(url)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""def parserText(text, book_list):soup = BeautifulSoup(text, 'html.parser')for table in soup('table', {'width': '100%'}):if isinstance(table, bs4.element.Tag):tds = table.find('tr')('td')divs = tds[1]('div')content = {}for div in divs:if isinstance(div, bs4.element.Tag):if div.find('a'):name = div.find('a').attrs['title']content.update({"书名": name})if div.select('.rating_nums'):score = div.select('.rating_nums')[0].textcontent.update({"评分": score})if div.select('.pl'):people_num = div.select('.pl')[0].textregex = re.compile(r'[\d]{1,10}')content.update({"评价人数": regex.findall(people_num)[0]})ps = tds[1]('p')for p in ps:if isinstance(p, bs4.element.Tag):if p.attrs['class'][0] == 'quote':description = p.find('span').stringcontent.update({"介绍": description})if p.attrs['class'][0] == 'pl':author = p.stringcontent.update({"作者信息": author})book_list.append(content)next_books = soup.find('span', {'class': 'next'})if next_books.find('a'):a = next_books.find('a').attrs['href']text = getHtmlText(a)parserText(text, books)return book_listdef sortedBookTop250(book_list):tmp = sorted(book_list, key=itemgetter('评分'), reverse=True)for i in range(len(tmp)):tmp[i].update({"排名": i 1})return tmpdef writeToFile(book_list):with open('good_books.txt', 'w', encoding='utf8') as book_file:for book in book_list:for key, value in book.items():book_file.write(f'{key}:{value}\n')book_file.write('\n')passdef main():text = getHtmlText(seed_url)book_list = parserText(text, books)writeToFile(sortedBookTop250(book_list))passif __name__ == '__main__':seed_url = "https://book.douban.com/top250"books = []main()
总结
- 点击查看我的Github
- 点击查看我的个人Blog
- 日拱一卒,不期速成
以上直接贴出了代码,这是很简单的两段代码,主要用到了 requests 库和 beautifulsoup 库,需要的可以直接拿去,或者直接去我的 GIthub上拿 movies.txt 和 good_books.txt
豆瓣电影TOP250和书籍TOP250爬虫相关推荐
- 豆瓣电影分类排行榜-剧情片-爬虫
豆瓣电影分类排行榜 - 剧情片爬虫 Tips: 爬取的页面:https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&typ ...
- python爬虫豆瓣电影短评_【Python爬虫】BeautifulSoup爬取豆瓣电影短评
目的:爬取豆瓣[红海行动]电影的首页短评 步骤: 1.使用BeautifulSoup解析网页 soup = BeautifulSoup(r, 'lxml') // lxml 库解析速度快,也能解析复杂 ...
- 爬虫脚本(抓取豆瓣电影Top250)
运行环境:Windows7,python2.7.13 需求分析:爬取豆瓣电影网排行的Top250片名. 步骤: 1. 抓取网站源码. 2. 利用正则表达式提取片名. 3. 把电影片名保存到文本中. 4 ...
- python实现爬虫探探_全栈 - 9 实战 爬取豆瓣电影数据
这是全栈数据工程师养成攻略系列教程的第九期:9 实战 爬取豆瓣电影数据. 掌握了爬虫的基本原理和代码实现,现在让我们通过实战项目巩固一下. 确定目标 在写爬虫之前应当想清楚:我需要哪方面的数据?需要包 ...
- 爬虫实战2:豆瓣电影TOP250
1.豆瓣简介 豆瓣是一个社交网站,起源于2005年,该网站以书影音起家,提供关于图书.电影.音乐唱片的推荐.评价和价格比较,以及城市独特的文化生活.本篇文章将从数据分析的角度来分析豆瓣网站.分析的维度 ...
- append从一个添加到另一_真特么激动第一个爬虫----爬取豆瓣电影top250
养成习惯,先赞后看!!! 前言 之前一直对爬虫有兴趣,但是一直没有真正静下心来去好好学习过,这一段时间跟着b站上的一个教程做了自己人生中第一个爬虫程序,还是很有成就感的. 准备工作 1. 我们爬取一个 ...
- python爬取豆瓣电影top250_Python爬虫 - scrapy - 爬取豆瓣电影TOP250
0.前言 新接触爬虫,经过一段时间的实践,写了几个简单爬虫,爬取豆瓣电影的爬虫例子网上有很多,但都很简单,大部分只介绍了请求页面和解析部分,对于新手而言,我希望能够有一个比较全面的实例.所以找了很多实 ...
- Python3 爬虫实战 — 豆瓣电影TOP250【requests、Xpath、正则表达式、CSV、二进制数据储存】
爬取时间:2019-09-27 爬取难度:★★☆☆☆☆ 请求链接:https://movie.douban.com/top250 以及每部电影详情页 爬取目标:爬取榜单上每一部电影详情页的数据,保存为 ...
- python爬取豆瓣电影top250_用Python爬虫实现爬取豆瓣电影Top250
用Python爬虫实现爬取豆瓣电影Top250 #爬取 豆瓣电影Top250 #250个电影 ,分为10个页显示,1页有25个电影 import urllib.request from bs4 imp ...
- Python爬虫 爬取豆瓣电影TOP250
Python爬虫 爬取豆瓣电影TOP250 最近在b站上学习了一下python的爬虫,实践爬取豆瓣的电影top250,现在对这两天的学习进行一下总结 主要分为三步: 爬取豆瓣top250的网页,并通过 ...
最新文章
- smc数显压力表设定方法_压力控制器工作原理与设定方法
- 【Linux】一步一步学Linux——Linux系统常用快捷键(12) 待更新...
- Adobe illustrator 调整对象大小 - 连载 11
- Linux 多线程编程使用pthread_creat()函数条件
- linux iso作为安装源,linux下使用iso文件做为yum安装源
- 1054. The Dominant Color (20)
- 南宁看桃花的季节是2月
- Atitit 如何在外包找到自己的技术深度
- 鸡兔同笼(一道明显的体现cin和cout运行较慢的特点)
- 无线接入回传一体化关键技术及标准化进展
- 软件需求说明书怎么写
- linux iptable 使用指南
- 关于grldr is missing
- LeeCode 108 递归
- Mac上怎么把mov文件转成gif文件
- Java安全开发注意事项
- Python 游戏开发: 外星人入侵
- 【工作流】工作流快速入门
- 《 线性代数及其应用 (原书第4版)》——1.5 线性方程组的解集
- 你必须知道的最好的开源WEB 资源