首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python通过我的个人服务器调用web抓取时出错

使用python通过我的个人服务器调用web抓取时出错
EN

Stack Overflow用户
提问于 2021-01-18 23:58:10
回答 1查看 89关注 0票数 0

我是一个全新的编码新手,已经完成了一个简单的程序,以网络刮一些特定数据的股票网站。简化后的代码如下所示:

代码语言:javascript
复制
headers = {'User-Agent': 'Personal_User_Agent'}

fv = f"https://finviz.com/quote.ashx?t=JAGX"

r_fv = requests.get(fv, headers=headers)
soup_fv = BeautifulSoup(r_fv.text, 'html.parser')
fv_ticker_title = soup_fv.find('title')
print(fv_ticker_title)

在我创建一个用户代理之前,这个网站不会工作,但之后它工作得很好。然后我通过python的本地主机创建了一个网站,它也运行得很好,所以我想我已经准备好通过"python anywhere“公开这个网站了。

然而,当我创建公共网站时,每次我通过网络抓取(即使用user_agent)访问信息时,程序都会关闭。我不喜欢在公共领域使用我的用户代理的想法,但当公共领域需要用户代理时,我无法了解其他web用户是如何处理这个问题的。有什么建议吗!?

EN

回答 1

Stack Overflow用户

发布于 2021-01-19 00:11:21

我会添加一些随机的标题来轮换,而不是我自己的标题。像这样的东西应该是有效的:

代码语言:javascript
复制
import random

header_list = [
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_18_3) AppleWebKit/537.34 (KHTML, like Gecko) Chrome/82.0.412.92 Safari/539.36',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 11.12; rv:87.0) Gecko/20170102 Firefox/78.0',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.32 (KHTML, like Gecko) Chrome/82.0.12.17 Safari/535.42'
]

fv = f"https://finviz.com/quote.ashx?t=JAGX"

user_agent = random.choice(header_list)
headers = {'User-Agent': user_agent}

r_fv = requests.get(fv, headers=headers)
soup_fv = BeautifulSoup(r_fv.text, 'html.parser')
fv_ticker_title = soup_fv.find('title')
print(fv_ticker_title)

或者选项2。

使用一个名为fake-headers的库即兴生成它们:

代码语言:javascript
复制
from fake_headers import Headers

fv = f"https://finviz.com/quote.ashx?t=JAGX"
    
headers = Headers(os="mac", headers=True).generate() 

r_fv = requests.get(fv, headers=headers)
soup_fv = BeautifulSoup(r_fv.text, 'html.parser')
fv_ticker_title = soup_fv.find('title')
print(fv_ticker_title)

这真的取决于你是否想使用库...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65777947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档