爬取猫眼top100榜单电影

今天终于静下心来学习python爬虫了,写了一个爬取猫眼top100榜单电影的小爬虫,效率不高,下次一定加油。

一张效果图(1~100)


都是上学期学过的,现在复习复习

上代码

import requests

from bs4 import BeautifulSoup

import urllib

def download(url, num_retries=2):

try:

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3278.0 Safari/537.36'}

html = requests.get(url, headers=headers)

'''html.encoding=gb2312'''

except Exception as e:

print ('Download error:', e.reason)

html = None

if num_retries > 0:

if 500 <= html.status_code < 600:

return download(url, num_retries-1)

return html

def tiqu(html):

contents = []

bsobject = BeautifulSoup(html, "lxml")

caption = bsobject.findAll('p',{"class":'board-content'})[0].string

for lists in bsobject.findAll('dl',{'class':'board-wrapper'})[0]:

score = ''

content = []

if len(lists) == 1:

continue

content.append(lists.find('i').string)

test = lists.findAll('p',)

for aa in test:

bb = str(aa.string)

bb = bb.replace('\n','').strip()

if bb == 'None':

continue

content.append(bb)

for num in test[3]:

score = score + num.string

content.append(float(score.strip()))

contents.append(content)

return caption, contents

def getUrl(url, html):

urllist = []

listobject = BeautifulSoup(html, 'lxml')

urlone = listobject.findAll('a', {"class":'page_2'})[0].attrs['href'][:-2]

for num in range(0,100,10):

urls = urlone + str(num)

urllist.append(urllib.parse.urljoin(url, urls))

return urllist

def main():

contents = []

url = "http://maoyan.com/board/4"

html = download(url)

urllist = getUrl(url, html.text)

for url in urllist:

html = download(url)

caption , content = tiqu(html.text)

for con in content:

contents.append(con)

for con in contents:

print(con)

if __name__ == '__main__':

main()

看起来效果不好,还是上传文件吧

链接:https://pan.baidu.com/s/1VBFH4RUagRMgIINT30xP7g 密码:tydw

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一,HTML语言的一般语法: 1,围堵标记:<>… 1)带属性的标记: … 2)无属性的标记:加粗 居中 标题 2...
    清水易蓝阅读 5,049评论 0 2
  • 图表控件库 MPAndroidChart 的使用 使用方法 项目源码地址,包含了很多类型的图标 https://g...
    jinchuang阅读 4,239评论 0 0
  • Fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化打包、发布等工作,可以节省大...
    刃之剑阅读 1,711评论 0 0
  • 来到大学,不再像高中那样,自己可以有了很多的课余时间。然而很多人却因为种种原因而荒芜了这些时间。 这是因为很多时候...
    木行上阅读 4,553评论 0 0
  • 人这一生,既不像想的那么好,也不像想的那么坏。 小学的时候,为了应付暑假阅读的规定,浏览了一下莫泊桑的《一生》,后...
    更欣阅读 4,151评论 0 0

友情链接更多精彩内容