怎么用python爬取猫眼电影的前100部影片

  介绍

这篇文章主要介绍”怎么用python爬取猫眼电影的前100部影片”,在日常操作中,相信很多人在怎么用python爬取猫眼电影的前100部影片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么用python爬取猫眼电影的前100部影片”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

<节>
 <代码>  <代码>进口进口请求re  <代码>从bs4进口BeautifulSoup  <代码>从lxml进口etree  <代码>  <代码>进口回溯导入csv  <代码> #定义一个函数获取豆瓣电影第一页 <代码> def get_one_page (url,代码=& # 39;utf - 8 # 39;):  <代码>,,头={& # 39;用户代理# 39;:& # 39;Mozilla/5.0 (Windows NT 10.0;Win64;x64) AppleWebKit/537.36 (KHTML,像壁虎)Chrome/75.0.3770.90 Safari 537.36 & # 39;}  <代码>,代码,试题: <代码>,,,r=请求。get (url,标题=头) <代码>,,,如果r。status_code==200:  <代码>,,,,,r。代码编码= <代码>,,,,,返回r。文本 <代码>,,,代码,其他: <代码>,,,,,,打印(“相应失败“) <代码>,,,,,代码,返回所有 <代码>,代码,除了: <代码>,,,代码,traceback.print_exc()  <代码> def过程(生): <代码>,,对吧=raw.split (“@")  <代码>,代码,返回正确的[0] <代码> def面积(a):  <代码>,,如果一个[1]==?“: <代码>,,,,返回一个[16:] <代码>,代码,其他: <代码>,,,代码,返回所有 <代码> 
<代码> def parse_one_page (slst、html): <代码>,,#正则表达式 <代码>,,#排名=re.findall (& # 39; & lt; dd>。* ? & lt;我类=癰oard-index。* ?祝辞(\ d +) & lt;/i> & # 39;, html, re.S) <代码>,,# img=re.findall (& # 39; data-src=https://www.yisu.com/zixun/??)”。* ? ', html, re.S) <代码>,,# name=re.findall (& # 39; & lt; p类=皀ame"。* ?祝辞& lt; . * ?祝辞(. * ?)& lt;/a> & # 39;, html, re.S) <代码>,,#星=re.findall (& # 39; & lt; p类=皊tar"祝辞(. * ?)& lt;/p> & # 39;, html, re.S) <代码>,,#时间=re.findall (& # 39; & lt; p类=皉eleasetime"祝辞(. * ?)& lt;/p> & # 39;, html, re.S) <代码>,,# print() <代码>,,#正则表达式别忘了加上r,防止转义,否则会报错 <代码>,,#把上面的正则表达式合在一起 <代码>,,模式=re.compile (" # 39; & lt; dd>。* ? & lt;我类=癰oard-index。* ?祝辞(\ d +) & lt;/i>。* ? data-src=https://www.yisu.com/zixun/??)”。* ? . * ?

(. * ?)

。* ?

(. * ?)

。* ?

<? ?> (. * ?) <我类="分数"> (. * ?)

", re.S) <代码>,,物品=re.findall(模式中,html) <代码>,,#打印(物品) <代码>,的项目,项目: <代码>,,,,#收益率就相当于返回的功能,但也有所不同,收益率语句把程序编程迭代器 <代码>,,,,产量{ <代码>,,,,,,& # 39;排名# 39;:项目[0], <代码>,,,,,,& # 39;img # 39;:流程(项目[1]), <代码>,,,,,,& # 39;MovieName& # 39;:项目[2], <代码>,,,,,,“star":条目[3].strip()[3:], <代码>,,,,,,“time":条目[4].strip()[5:15], <代码>,,,,,,“area":区域(项目[4].strip()), <代码>,,,,,,“score": str(项目[5])+ str(项目[6]) <代码>,,,代码,} <代码>,,#返回““ <代码> def write_to_file(项): <代码>,与开放,(“猫眼top100.csv", & # 39;一个# 39;,编码=皍tf_8_sig",换行符=啊?f: <代码>,,,,#一个追加模式换行区分换行符 <代码>,,,,字段名=[& # 39;排名# 39;& # 39;img # 39;, & # 39; MovieName& # 39;, & # 39;星# 39;,& # 39;时间# 39;,& # 39;区域# 39;,& # 39;分数# 39;] <代码>,,,w=csv。DictWriter (f,字段名=字段名),#字典写入到csv <代码>,,,,# w.writeheader() <代码>,,,,w.writerow(项) <代码>,代码,返回““ <代码> def down_img(名称、网址、num): <代码>,代码,试题: <代码>,,,,反应=requests.get (url) <代码>,,,,张开(& # 39;C:/用户/华为/桌面/py爬虫/豆瓣/& # 39;+名字+ & # 39;jpg # 39;, & # 39; wb # 39;) f: <代码>,,,,,代码,f.write (response.content) <代码>,,,,,,打印(“第% s张图片下载完毕“% str (num)) <代码>,,,,,,打印(“=? 20) <代码>,null   null

怎么用python爬取猫眼电影的前100部影片