鱼C论坛

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

[已解决]爬虫时的问题

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

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

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

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

res = r.get(r'https://movie.douban.com/top250')
soup = b.BeautifulSoup(res.text, 'html.parser')
target = soup.find_all('div', class_='hd')
for i in target:
     print(each.a.span.text)
这是我写的,运行之后什么都不出来,这是什么情况
最佳答案
2021-2-25 15:06:16
草率草率,没在编译器上运行
import requests as r
import bs4 as b
headers={"User-Agent":
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"}
res = r.get('https://movie.douban.com/top250', headers=headers)
soup = b.BeautifulSoup(res.text, 'html.parser')
target = soup.find_all('div', class_='hd')
for each in target:    # 改成each
     print(each.a.span.text)
粗心了,抱歉
屏幕截图 2021-02-25 142045.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

加header
headers = {'user-agent': 'Mozilla'}
res = r.get('https://movie.douban.com/top250', headers=headers)
soup = b.BeautifulSoup(res.text, 'html.parser')
target = soup.find_all('div', class_='hd')
for each in target:    # 改成each
     print(each.a.span.text)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 14:53:48 | 显示全部楼层
豆瓣有反爬虫系统,加上handers就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

它出错了
============== RESTART: C:\Users\86177\Desktop\python学习\豆瓣250爬虫.py =============
Traceback (most recent call last):
  File "C:\Users\86177\Desktop\python学习\豆瓣250爬虫.py", line 6, in <module>
    soup = b.BeautifulSoup(res.text, 'html.parser',headers=headers)
  File "C:\Users\86177\AppData\Local\Programs\Python\Python39-32\lib\site-packages\bs4\__init__.py", line 252, in __init__
    builder = builder_class(**kwargs)
  File "C:\Users\86177\AppData\Local\Programs\Python\Python39-32\lib\site-packages\bs4\builder\_htmlparser.py", line 325, in __init__
    super(HTMLParserTreeBuilder, self).__init__(**kwargs)
TypeError: __init__() got an unexpected keyword argument 'headers'
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-25 15:06:16 | 显示全部楼层    本楼为最佳答案   
草率草率,没在编译器上运行
import requests as r
import bs4 as b
headers={"User-Agent":
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0"}
res = r.get('https://movie.douban.com/top250', headers=headers)
soup = b.BeautifulSoup(res.text, 'html.parser')
target = soup.find_all('div', class_='hd')
for each in target:    # 改成each
     print(each.a.span.text)
粗心了,抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

这样好了吗,环境不太方便,看不出有啥问题了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-25 15:51:51 | 显示全部楼层
谢谢谢谢,能用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 10:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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