超简单的豆瓣电影Top前250影片基本信息爬取

记录一篇简单的爬虫经历~豆瓣电影250top_百度搜索https://www.baidu.com/s?word=%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1250top&tn=25017023_10_pg&lm=-1&ssl_s=1&ssl_c=ssl1_1721136aead
爬虫内容参考阿优乐扬的博客-CSDN博客https://blog.csdn.net/ayouleyang/article/details/96023950?

爬取到的内容如下,是xls文件。
在这里插入图片描述

以下内容对小白白无敌友好
实现装备:Windows64,pycharm
为了爬虫安装的库有:requests, bs4, BeautifulSoup, xlwt(区分大小写)

代码参考的是上述博主的,使用中遇到了一些问题,下面我来简单说一下。
原博主代码(当然可能是我的电脑不奥利给的原因)

import re
import urllib.request
from bs4 import BeautifulSoup
import xlwt

urls = "https://movie.douban.com/top250"
html = urllib.request.urlopen(urls).read()
soup = BeautifulSoup(html, "html.parser")
all_page=[]
print(u'网站名称:', soup.title.string.replace("\n", ""))

第一个弹出错误提示:urllib.error.HTTPError: HTTP Error 418
解决方法,headers一行要改成自己计算机在网址中的User-Agent,也就是User-Agent有很种,一定要匹配自己的,查询Headers步骤如下(适合按F12查询无效者):打开任意网址,点开右上角的菜单选项,选择开发者工具,选择network,任意点开网站的连接,在network上会显示一些文件,点开任意文件右边会显示Headers,User-Agent,复制后注意引号与空格。
在这里插入图片描述
第二个错误行:html = urllib.request.urlopen(urls).read(),在这一行里面urlopen()很不给力,一直提示错误,修改后代码 html = requests.get(urls,headers = headers )

第三个错误提示:object of type ‘Response’ has no len(),错误行为:soup = BeautifulSoup(html, “html.parser”),错误原因:html是requests对象,无法使用Beautiful解析,需要在html后面接content。解决后代码:soup = BeautifulSoup(html.content , “html.parser”)。

然后下面是卑微的我修改后的代码,然后就可以爬出来啦~

urls = "https://movie.douban.com/top250"
headers = {
   'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36'}
html = requests.get(urls
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值