【发布时间】:2022-12-07 19:56:17
【问题描述】:
我正在试验 Bs4 和随机网站,但此链接是第一个不返回任何数据的链接 我不明白这是不是我的错 我正在尝试获取类等于“tile-image”的 href 如何获得那个 href ? 谢谢
错误:http.client.IncompleteRead:IncompleteRead(读取 0 个字节)
#!/usr/bin/env python3.9
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
import random
def get_newagent():
uastrings = [
"Mozilla/6.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 "
"Safari/537.36",
"Mozilla/6.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 "
"Safari/537.36",
"Mozilla/6.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 "
"Safari/600.1.25",
"Mozilla/6.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0",
"Mozilla/6.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 "
"Safari/537.36",
"Mozilla/6.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/38.0.2125.111 Safari/537.36",
"Mozilla/6.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 "
"Safari/537.85.10",
"Mozilla/6.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
"Mozilla/6.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0",
"Mozilla/6.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 "
"Safari/537.36"
]
return random.choice(uastrings)
url = "https://streamingcommunity.cheap/serie-tv"
req = Request(url, headers={'User-Agent': get_newagent()}, unverifiable=False)
html_page = urlopen(req)
soup = BeautifulSoup(html_page, 'lxml')
download = soup.find_all('a', {"class": "tile-image"})
【问题讨论】:
-
该站点受 CloudFlare 保护。当您提出请求时,就会面临挑战。基本上,他们不想被刮掉。
-
尝试使用 cloudscraper 来避免 CloudFlare 或 selenium
标签: python http beautifulsoup lxml