JB_*_*JB_ 8 python beautifulsoup web-scraping python-3.x python-requests
我正在网站上进行网页抓取,有时在运行脚本时出现此错误:
ReadTimeout: HTTPSConnectionPool(host='...', port=443): Read timed out. (read timeout=10)
Run Code Online (Sandbox Code Playgroud)
我的代码:
url = 'mysite.com'
all_links_page = []
page_one = requests.get(url, headers=getHeaders(), timeout=10)
sleep(2)
if page_one.status_code == requests.codes.ok:
soup_one = BeautifulSoup(page_one.content.decode('utf-8'), 'lxml')
page_links_one = soup_one.select("ul.product_list")
for links_one in page_links_one:
for li in links_one.select("li"):
all_links_page.append(li.a.get("href").strip())
Run Code Online (Sandbox Code Playgroud)
我找到的答案并不令人满意
为什么里面有超时参数?我只想消除超时参数。您收到该错误的原因是因为您将其设置为 10,这表示如果您在 10 秒内没有收到服务器的响应,则会引发错误。所以不一定是服务器叫你出去。如果没有明确指定超时,请求不会超时(至少在您这边)。
page_one = requests.get(url, headers=headers) #< --- don't use the timeout parameter
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25887 次 |
| 最近记录: |