鱼C论坛

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

[已解决]爬虫时的问题

[复制链接]
发表于 2021-2-25 14:21:17 | 显示全部楼层 |阅读模式

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

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

x
我爬豆瓣250的那个网站,它不回应是怎么回事
  1. import requests as r
  2. import bs4 as b

  3. res = r.get(r'https://movie.douban.com/top250')
  4. soup = b.BeautifulSoup(res.text, 'html.parser')
  5. target = soup.find_all('div', class_='hd')
  6. for i in target:
  7.      print(each.a.span.text)
复制代码

这是我写的,运行之后什么都不出来,这是什么情况
最佳答案
2021-2-25 15:06:16
草率草率,没在编译器上运行
  1. import requests as r
  2. import bs4 as b
  3. headers={"User-Agent":
  4.         "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"}
  5. res = r.get('https://movie.douban.com/top250', headers=headers)
  6. soup = b.BeautifulSoup(res.text, 'html.parser')
  7. target = soup.find_all('div', class_='hd')
  8. for each in target:    # 改成each
  9.      print(each.a.span.text)
复制代码

粗心了,抱歉
屏幕截图 2021-02-25 142045.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-25 14:26:53 | 显示全部楼层
本帖最后由 suchocolate 于 2021-2-25 14:28 编辑

加header
  1. headers = {'user-agent': 'Mozilla'}
  2. res = r.get('https://movie.douban.com/top250', headers=headers)
  3. soup = b.BeautifulSoup(res.text, 'html.parser')
  4. target = soup.find_all('div', class_='hd')
  5. for each in target:    # 改成each
  6.      print(each.a.span.text)

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

使用道具 举报

发表于 2021-2-25 14:53:48 | 显示全部楼层
豆瓣有反爬虫系统,加上handers就好了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 14:59:17 | 显示全部楼层
以下为完整代码
  1. import requests as r
  2. import bs4 as b
  3. headers={"User-Agent":
  4.         "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"}
  5. res = r.get('https://movie.douban.com/top250', headers=headers)
  6. soup = b.BeautifulSoup(res.text, 'html.parser',headers=headers)
  7. target = soup.find_all('div', class_='hd')
  8. for each in target:    # 改成each
  9.      print(each.a.span.text)
复制代码


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

使用道具 举报

 楼主| 发表于 2021-2-25 15:02:59 | 显示全部楼层

它出错了
  1. ============== RESTART: C:\Users\86177\Desktop\python学习\豆瓣250爬虫.py =============
  2. Traceback (most recent call last):
  3.   File "C:\Users\86177\Desktop\python学习\豆瓣250爬虫.py", line 6, in <module>
  4.     soup = b.BeautifulSoup(res.text, 'html.parser',headers=headers)
  5.   File "C:\Users\86177\AppData\Local\Programs\Python\Python39-32\lib\site-packages\bs4\__init__.py", line 252, in __init__
  6.     builder = builder_class(**kwargs)
  7.   File "C:\Users\86177\AppData\Local\Programs\Python\Python39-32\lib\site-packages\bs4\builder\_htmlparser.py", line 325, in __init__
  8.     super(HTMLParserTreeBuilder, self).__init__(**kwargs)
  9. TypeError: __init__() got an unexpected keyword argument 'headers'
  10. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 15:06:16 | 显示全部楼层    本楼为最佳答案   
草率草率,没在编译器上运行
  1. import requests as r
  2. import bs4 as b
  3. headers={"User-Agent":
  4.         "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"}
  5. res = r.get('https://movie.douban.com/top250', headers=headers)
  6. soup = b.BeautifulSoup(res.text, 'html.parser')
  7. target = soup.find_all('div', class_='hd')
  8. for each in target:    # 改成each
  9.      print(each.a.span.text)
复制代码

粗心了,抱歉
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 15:07:10 | 显示全部楼层

这样好了吗,环境不太方便,看不出有啥问题了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-25 15:51:51 | 显示全部楼层
谢谢谢谢,能用了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-27 10:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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