鱼C论坛

 找回密码
 立即注册
查看: 2308|回复: 7

[已解决]【爬取豆瓣TOP250电影排行榜】代码运行不出结果

[复制链接]
发表于 2020-2-8 21:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import requests
  2. import bs4

  3. url = "https://movie.douban.com/top250"
  4. headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/72.0'}
  5. rs = requests.get(url,headers)
  6. soup = bs4.BeautifulSoup(rs.text,"html.parser")
  7. targets = soup.find_all("div",class_="hd")
  8. for each in targets:
  9.     print(each.a.span.text)
复制代码
有人在弹幕中说要加headers,我加了之后仍然运行不出结果。
像图中

                               
登录/注册后可看大图

自己检查之后发现,targets只是一个空列表。
求大佬解释一下这是怎么回事??


最佳答案
2020-2-8 22:01:26
这样就可以了。

  1. import requests
  2. import bs4

  3. url = "https://movie.douban.com/top250"
  4. headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;) Gecko/20100101 Firefox/72.0'}
  5. rs = requests.get(url, headers=headers)
  6. soup = bs4.BeautifulSoup(rs.text, "html.parser")
  7. targets = soup.find_all("div", class_="hd")
  8. for each in targets:
  9.     print(each.a.span.text)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-8 22:00:04 | 显示全部楼层
本帖最后由 xiangzhihengkan 于 2020-2-8 22:01 编辑

在线求助

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 22:01:26 | 显示全部楼层    本楼为最佳答案   
这样就可以了。

  1. import requests
  2. import bs4

  3. url = "https://movie.douban.com/top250"
  4. headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;) Gecko/20100101 Firefox/72.0'}
  5. rs = requests.get(url, headers=headers)
  6. soup = bs4.BeautifulSoup(rs.text, "html.parser")
  7. targets = soup.find_all("div", class_="hd")
  8. for each in targets:
  9.     print(each.a.span.text)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 22:03:41 | 显示全部楼层
zltzlt 发表于 2020-2-8 22:01
这样就可以了。

可是我这里报错了
这一行rs = requests.get(url, headers=headers)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 22:05:25 | 显示全部楼层
xiangzhihengkan 发表于 2020-2-8 22:03
可是我这里报错了
这一行rs = requests.get(url, headers=headers)

我这里没有哦。

这样试试?

  1. import requests
  2. import bs4

  3. url = "https://movie.douban.com/top250"
  4. headers = {'User-Agent': 'Mozilla/5.0'}
  5. rs = requests.get(url, headers=headers)
  6. soup = bs4.BeautifulSoup(rs.text, "html.parser")
  7. targets = soup.find_all("div", class_="hd")
  8. for each in targets:
  9.     print(each.a.span.text)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 22:07:41 | 显示全部楼层
zltzlt 发表于 2020-2-8 22:05
我这里没有哦。

这样试试?

可以了,请问能解释一下这是为什么吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-8 22:09:29 | 显示全部楼层
xiangzhihengkan 发表于 2020-2-8 22:07
可以了,请问能解释一下这是为什么吗?

不清楚,在我这里两段代码都能正常执行的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 22:10:01 | 显示全部楼层
zltzlt 发表于 2020-2-8 22:09
不清楚,在我这里两段代码都能正常执行的。

嗯好,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-3 20:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表