python3爬豆瓣

爱看书,爱看电影,又在学python3。就爬了一下。上代码

 1 import urllib.request
 2 from bs4 import BeautifulSoup
 3 def get_html(url):
 4     web=urllib.request.urlopen(url)
 5     soup=BeautifulSoup(web,"html.parser")
 6     data=soup.find("div",id="wrapper")
 7     return data
 8 def get_all(data):
 9     data=data.find_all("table")
10     for link in data:
11         name=link.find("div",class_="pl2").find("a").get_text().replace(‘ ‘,‘‘).replace(‘\n‘,‘‘)
12         author=link.find("p",class_="pl").get_text().split(‘/‘)[0].replace(‘ ‘,‘‘)
13         score=link.find("span",class_="rating_nums").get_text().replace(‘ ‘,‘‘)
14         peoplenum=link.find("span",class_="pl").get_text().replace(‘ ‘,‘‘).replace(‘(‘,‘‘).replace(‘)‘,‘‘).replace(‘\n‘,‘‘)
15         try:
16             remark=link.find("p",class_="quote").get_text().replace(‘ ‘,‘‘).replace(‘\n‘,‘‘)
17         except:
18             remark=‘暂无评价‘
19         with open(‘F://book.txt‘,‘a+‘, encoding=‘UTF-8‘) as f:
20             f.write(name+‘ ‘+author+‘ ‘+score+‘ ‘+peoplenum+‘ ‘+remark+‘\r\n‘)
21 if __name__ == ‘__main__‘:
22     url=‘https://book.douban.com/top250?start=‘
23     with open(‘F://book.txt‘,‘a+‘, encoding=‘UTF-8‘) as f:
24         f.write(‘书籍名称 ‘+‘作者 ‘+‘评分 ‘+‘评价人数 ‘+‘评论 ‘+‘\r\n‘)
25     for i in range(10):
26         url1=url+str(i*25)
27         get_all(get_html(url1))

上面是书

下面是电影

 1 import io
 2 import sys
 3 import urllib.request
 4 from bs4 import BeautifulSoup
 5 #获取网页
 6 def get_html(url):
 7     headers={‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/60.0.3112.101 Safari/537.36‘}
 8     req = urllib.request.Request(url=url,headers=headers)
 9     res = urllib.request.urlopen(req)
10     html=res.read()
11     soup=BeautifulSoup(html,‘html.parser‘)
12     data = soup.find("ol").find_all("li")
13     return data
14 def get_all(data):
15     for info in data:
16         names = info.find("span")
17         name = names.get_text()
18         scores = info.find_all("span",{"class":"rating_num"})
19         score = scores[0].get_text()
20         nums=info.find("div",class_="star").find_next().find_next().find_next().find_next().get_text()
21         with open(‘F://movie.txt‘,‘a+‘, encoding=‘UTF-8‘) as f:
22             f.write(name+‘ ‘+score+‘ ‘+nums+‘\r\n‘)
23 if __name__ == ‘__main__‘:
24     url=‘https://movie.douban.com/top250?start=‘
25     with open(‘F://movie.txt‘,‘a+‘, encoding=‘UTF-8‘) as f:
26         f.write(‘电影名称‘+‘ ‘+‘评分‘+‘ ‘+‘评价人数‘+‘\r\n‘)
27     for i in range(10):
28         url1=url+str(i*25)+‘&filter=‘
29         get_all(get_html(url1))
时间: 2024-12-12 15:36:27

python3爬豆瓣的相关文章

Python3爬取今日头条有关《人民的名义》文章

Python3爬取今日头条有关<人民的名义>文章 最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章,试试技术同时可以集中看一下大家的脑洞也是极好的. 首先,我们先打开头条的网页版,在右上角搜索框输入关键词,通过chrome调试工具,我们定位到头条的search栏调用的的API为: http://www.toutiao.com/search_content/?offset=0&format=json

python爬虫,爬豆瓣top250电影

python爬虫,爬豆瓣top250电影 import string import re import urllib2 class DouBanSpider(object) : def __init__(self) : self.page = 1 self.cur_url = "http://movie.douban.com/top250?start={page}&filter=&type=" self.datas = [] self._top_num = 1 def

python3爬取网页

爬虫 python3爬取网页资源方式(1.最简单: import'http://www.baidu.com/'print2.通过request import'http://www.baidu.com'print1.import urllib.request 'wd''python''opt-webpage''on''ie''gbk'GET和POST请求的不同之处是POST请求通常有"副作用" 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)

python3爬取女神图片,破解盗链问题

title: python3爬取女神图片,破解盗链问题 date: 2018-04-22 08:26:00 tags: [python3,美女,图片抓取,爬虫, 盗链] comments: true 前言 其实,抓取图片和抓取小说内容没有任何本质的区别,步骤都是一样的. 但是图片读取的时候,会遇到一个盗链问题.这个问题是花的解决时间最长的. 环境 语言: python3 操作系统: mac 10.12.16 自定义工具包:soup_tool 其依赖工具如下: from urllib import

Python3爬取电影信息:调用API

实验室这段时间要采集电影的信息,给出了一个很大的数据集,数据集包含了4000多个电影名,需要我写一个爬虫来爬取电影名对应的电影信息. 其实在实际运作中,根本就不需要爬虫,只需要一点简单的Python基础就可以了. 前置需求: Python3语法基础 HTTP网络基础 =================================== 第一步,确定API的提供方.IMDb是最大的电影数据库,与其相对的,有一个OMDb的网站提供了API供使用.这家网站的API非常友好,易于使用. http://

Python3爬取中文网址

本以为Python3的中文兼容性无比友好,结果还是会有一点问题的. 解决方案如下,就以爬取我自己的一个网页极简翻译为例 #coding:utf8 import urllib.request import urllib s='你好' s=urllib.parse.quote(s) url = "http://www.selflink.cn/iciba0/?name=%s"%(s) webPage=urllib.request.urlopen(url) data = webPage.rea

python3 爬“斗图啦”

接触了一个多月的python,终于可以小小露一手了.手法之拙略就不得不恭维了,哈哈, 环境win7系统,Python3.6,Pycharm2017社区版,还有Google浏览器(官网均可下载) http://www.doutula.com 需要的模块requests, lxml, BeautifulSoup, import requests import lxml from bs4 import BeautifulSoup 说明一下,下载很多网站都有了反爬机制,所以道高一尺,魔高一丈了,我们模拟

python3 爬取qq音乐作者所有单曲 并且下载歌曲

1 import requests 2 import re 3 import json 4 import os 5 6 7 8 # 便于存放作者的姓名 9 zuozhe = [] 10 11 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36'} 12 13 14 def ge

python3爬取淘宝美食

环境:ubuntu16.04python3.5python库: selenium, pyquery,pymongo, re 要求:设置×××面浏览器访问,并将商品列表存入mongoDB数据库. 分析流程: #!/usr/bin/env python # -*- coding:utf-8 -*- """ 1.爬取淘宝美食的流程 - 搜索关键字: 用selenium打开浏览器,模拟输入关键字,并搜索对应的商品列表. - 分析页码并翻页,模拟翻页,查看到所有页面的商品列表. - 分