鱼C论坛

 找回密码
 立即注册
查看: 1826|回复: 3

[已解决]爬虫初体验

[复制链接]
发表于 2022-3-21 22:28:41 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 yixinwenxin 于 2022-3-21 22:34 编辑

爬虫初体验非常不友好  
urllib.error.HTTPError: HTTP Error 418:
上来就418
我现在慌的一批

  1. import urllib.request
  2. import chardet
  3. with open("urls.txt",mode="r",encoding="utf-8") as url:
  4.     list_url = url.read().split()
  5. for i in list_url:
  6.     url_ = urllib.request.urlopen(i).read()
  7.     print(chardet.detect(url_)["encoding"])
复制代码


urls.txt
  1. http://www.fishc.com
  2. http://www.baidu.com
  3. http://www.douban.com
  4. http://www.zhihu.com
  5. http://www.taobao.coms
复制代码
最佳答案
2022-3-21 22:28:42
加请求头
  1. s = ["http://www.fishc.com",
  2.      "http://www.baidu.com",
  3.      "http://www.douban.com",
  4.      "http://www.zhihu.com",
  5.      "http://www.taobao.com"
  6.      ]
  7. headers = {
  8.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
  9. }

  10. # with open("urls.txt",mode="r",encoding="utf-8") as url:
  11. #     list_url = url.read().split()
  12. for i in s:
  13.     request = urllib.request.Request(url=i, headers=headers)  # 避免反爬
  14.     url_ = urllib.request.urlopen(request).read()
  15.     print(chardet.detect(url_)["encoding"])
复制代码

最佳答案

本帖被以下淘专辑推荐:

  • · 111|主题: 1, 订阅: 0
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-21 22:28:42 | 显示全部楼层    本楼为最佳答案   
加请求头
  1. s = ["http://www.fishc.com",
  2.      "http://www.baidu.com",
  3.      "http://www.douban.com",
  4.      "http://www.zhihu.com",
  5.      "http://www.taobao.com"
  6.      ]
  7. headers = {
  8.     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
  9. }

  10. # with open("urls.txt",mode="r",encoding="utf-8") as url:
  11. #     list_url = url.read().split()
  12. for i in s:
  13.     request = urllib.request.Request(url=i, headers=headers)  # 避免反爬
  14.     url_ = urllib.request.urlopen(request).read()
  15.     print(chardet.detect(url_)["encoding"])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-21 22:31:42 | 显示全部楼层
可以把代码放上来吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-3-21 22:36:44 | 显示全部楼层
isdkz 发表于 2022-3-21 22:31
可以把代码放上来吗?

我大概查了原因是  反爬....   具体解决办法还没研究   
现在只是慌的一批,上来吐槽下...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 13:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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