requests用不了
本帖最后由 whx_py 于 2022-10-19 12:43 编辑下载了requests和bs4,可以正常地import,但照着小甲鱼的课程《爬取豆瓣 TOP250 电影排行榜》输入相同的代码却不能出结果,也没有报错。
书刚看到爬虫那一章,刚开始就进行不下去了。。。
>>> import requests
>>> import bs4
>>> res = requests.get("https://movie.douban.com/top250")
>>> soup = bs4.BeautifulSoup(res.text, "html.parser")
>>> targets = soup.find_all("div", class_="hd")
>>> for each in targets:
print(each.a.span.text)
本帖最后由 67193114 于 2022-10-19 11:46 编辑
大概率是网站反爬机制,没有抓到数据!
在requests.get中增加headers等参数的定义即可
另外,学会打断点,去查看每一步得到的结果;或者在怀疑的步骤下增加打印,以便debug
应该是因为你 targets 内容没有获取到,所以 for 循环没有进行迭代,也就没有执行 print 函数
你试试在 for 循环之前加上 print(targets) 看看内容是什么。
另外建议能发代码直接发代码,Ctrl + C / V 一下,比你截图 上传 方便许多你不觉得么,而且还方便鱼油们进行调试
本帖最后由 whx_py 于 2022-10-19 17:59 编辑
Twilight6 发表于 2022-10-19 12:16
应该是因为你 targets 内容没有获取到,所以 for 循环没有进行迭代,也就没有执行 print 函数
你试试 ...
得到一个空的列表。
这是小甲鱼书上和视频两个同时使用的爬虫章节的例子,我代码是完完全全照抄的。
是我的问题,还是说这个例子过期了,像2l说的网站多了反爬机制?
或者我能不能直接 @ 小甲鱼? whx_py 发表于 2022-10-19 17:54
得到一个空的列表。
这是小甲鱼书上和视频两个同时使用的爬虫章节的例子,我代码是完完全全照抄的。
...
爬虫和其他代码有些区别
这东西是有时效性的,可能今天好用,明天就失效
所以爬虫程序在知道大体框架之后,往往是自己弄,自己分析网站(网页),如果自己不会分析,那是写不了爬虫的 headers = {'user-agent': 'Mozilla'}
res = requests.get("https://movie.douban.com/top250", headers=headers)
教程老了,现在不改user-agent豆瓣会回418的。 wp231957 发表于 2022-10-19 18:42
爬虫和其他代码有些区别
这东西是有时效性的,可能今天好用,明天就失效
所以爬虫程序在知道大体框架之 ...
感谢。
就是刚开始学,照着书做都没反应,以为是我哪里出问题了,现在放心了。 suchocolate 发表于 2022-10-19 18:51
教程老了,现在不改user-agent豆瓣会回418的。
ok 谢谢
页:
[1]