Python 美丽的汤网刮挂在网站上

Python 美丽的汤网刮挂在网站上,python,beautifulsoup,Python,Beautifulsoup,我使用python和beautiful soup循环浏览我存储在堆栈中的一组网站,并从中获取可视文本,这是我通过定义的函数完成的。每次我的循环尝试通过此网站: 它在response=http时挂起。请求'GET',扫描url而不产生任何错误。无论我等待多久,都不会发生什么事情。我会考虑跳过这个网站,但是我用这个来学习我想看看我是否能解决这个问题,但没有找到解决方案。这可能仅仅是因为我对网站的定义缺乏了解,你可以刮或不能刮 以下是与此相关的代码片段: for elems in stack:

我使用python和beautiful soup循环浏览我存储在堆栈中的一组网站,并从中获取可视文本,这是我通过定义的函数完成的。每次我的循环尝试通过此网站:

它在response=http时挂起。请求'GET',扫描url而不产生任何错误。无论我等待多久,都不会发生什么事情。我会考虑跳过这个网站,但是我用这个来学习我想看看我是否能解决这个问题,但没有找到解决方案。这可能仅仅是因为我对网站的定义缺乏了解,你可以刮或不能刮

以下是与此相关的代码片段:

for elems in stack:
    print("Looking at Site")
    print(elems)
    print("Here")
    http = urllib3.PoolManager()
    scan_url = elems
    print("Here2")
    try:
        response = http.request('GET', scan_url)
    except:
        confirmed_stack.append("Cannot Scrape: "+elems+"")
        continue
    print("Here3")
    soup = BeautifulSoup(response.data, 'html.parser')
    print("Yer")
    texts = soup.find_all(text=True)
    visible_texts = filter(tag_visible, texts)
    # print("HTML")
    pause_rand2 = random.randint(1, 2)
    time.sleep(pause_rand2)
我已将以下内容导入到python库中,但由于我一直在使用它们,因此并非所有这些库都相关或使用:

from googlesearch import search
from bs4 import BeautifulSoup
from bs4.element import Comment
import random
import urllib3
import math
import re
from collections import Counter
import os
import time
from translate import Translator
import requests

尝试在标题中包含用户代理:

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}  #<-- add this line


for elems in stack:
                print("Looking at Site")
                print(elems)
                print("Here")
                http = urllib3.PoolManager()
                scan_url = elems
                print("Here2")
                try:
                    response = requests.get(scan_url, headers=headers) #<-- adjusted this line
                except:
                    confirmed_stack.append("Cannot Scrape: "+elems+"")
                    continue
                print("Here3")
                soup = BeautifulSoup(response.text, 'html.parser') #<-- minor change here
                print("Yer")
                texts = soup.find_all(text=True)
                visible_texts = filter(tag_visible, texts) 
                #print("HTML")
                pause_rand2 = random.randint(1,2)
                time.sleep(pause_rand2)