Xpath爬取豆瓣top250电影
2020-06-07 10:18
10 查看
python爬取信息的方式有很多,今天就教大家如何使用xpath爬取豆瓣top250的电影名称、评分、链接、引言,并存储到csv中
python版本:3.7.4
相关模块:lxml模块;requests模块;以及python自带模块csv
环境搭建:安装python并添加到环境变量,pip安装需要的相关模块
代码如下:
[code]import requests from lxml import etree import csv #豆瓣top250网址 doubanUrl='https://movie.douban.com/top250?start={}&filter=' #获取网页源码 def getSource(url): headers={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36' } res=requests.get(url,headers=headers) res.encoding='utf-8' return res.text # 获取电影信息 def getEveryItem(source): html_element=etree.HTML(source) movieItemList=html_element.xpath('//div[@class="info"]') #定义一个空列表 movieList=[] for eachMovie in movieItemList: #创建一个字典,向列表中存储数据[{电影一},{电影二}...] movieDict={} title=eachMovie.xpath('div[@class="hd"]/a/span[@class="title"]/text()') #电影名 otherTitle=eachMovie.xpath('div[@class="hd"]/a/span[@class="other"]/text()') #其他名称 link=eachMovie.xpath('div[@class="hd"]/a/@href')[0] #链接 star=eachMovie.xpath('div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()')[0] #评分 quote=eachMovie.xpath('div[@class="bd"]/p[@class="quote"]/span/text()') #引言 #条件语句:如果有引言则写引言,若没有则不写 if quote: quote=quote[0] else: quote='' #保存数据 movieDict['title']=''.join(title+otherTitle) movieDict['url']=link movieDict['star']=star movieDict['quote']=quote movieList.append(movieDict) print(movieList) return movieList #保存数据 def writeData(movieList): with open('douban_top250.csv','w',encoding='utf-8') as f: writer=csv.DictWriter(f,fieldnames=['title','star','quote','url']) writer.writeheader() #写入表头 for each in movieList: writer.writerow(each) if __name__ == "__main__": movieList=[] #一共10页,循环10次 for i in range(10): #调用函数 pageLink=doubanUrl.format(i*25) source=getSource(pageLink) movieList+=getEveryItem(source) writeData(movieList)
相关文章推荐
- [Python/爬虫]利用xpath爬取豆瓣电影top250
- xpath方法抓取豆瓣电影top250
- python3 用xpath方法爬取豆瓣电影top250(排名,名称,演员表,评分,短评)
- 再谈python爬取豆瓣电影TOP250
- Python+Scrapy 爬取豆瓣电影排行榜Top250
- python爬虫(一)爬取豆瓣电影Top250
- 爬虫实战:爬取豆瓣TOP250电影信息
- python爬取豆瓣电影Top250
- 利用python爬虫爬取豆瓣电影Top250
- task1 - 爬取豆瓣Top250电影名
- 小试牛刀--利用豆瓣API爬取豆瓣电影top250
- python+beautifulsoup爬取豆瓣电影TOP250
- [Python爬虫]1.豆瓣电影Top250
- Python爬取豆瓣电影TOP250相关数据
- Python爬虫精进-第3关-爬取豆瓣TOP250电影
- python爬取豆瓣电影top250
- Python 采用Scrapy爬虫框架爬取豆瓣电影top250
- Python 爬虫:豆瓣电影Top250,包括电影导演、类型、年份、主演
- Datawhale爬虫(第5期)入门第二练||豆瓣电影TOP250的内容
- Python爬虫实战——豆瓣电影Top250