由于 Cloudflare,无法使用 BeautifulSoup 从今天开始解析 coin gecko 页面
Can't parse coin gecko page from today with BeautifulSoup because of Cloudflare
from bs4 import BeautifulSoup as bs
import requests
import re
import cloudscraper
def get_btc_price(br):
data=requests.get('https://www.coingecko.com/en/coins/bitcoin')
soup = bs(data.text, 'html.parser')
price1=soup.find('table',{'class':'table b-b'})
fclas=price1.find('td')
spans=fclas.find('span')
price2=spans.text
price=(price2).strip()
x=float(price[1:])
y=x*br
z=round(y,2)
print(z)
return z
这已经工作了几个月,今天早上它决定停止。我收到的消息如下:在继续之前检查您的浏览器....,检查您的防病毒软件或咨询管理员以获得访问权限...和一些 cloudflare 乱码。
我试过了
import cloudscraper
scraper = cloudscraper.create_scraper() # returns a CloudScraper instance
print(scraper.get("https://www.coingecko.com/en/coins/bitcoin").text)
它仍然阻止我访问。我应该怎么办?有没有其他方法可以绕过这个,还是我做错了什么。
在处理连接协商时,这似乎不是爬虫的问题,而是服务器的问题。
添加用户代理,否则requests
使用默认
user_agent = #
response = requests.get(url, headers={ "user-agent": user_agent})
查看“要求”
url = #
response = requests.get(url)
for key, value in response.headers.items():
print(key, ":", value)
from bs4 import BeautifulSoup as bs
import requests
import re
import cloudscraper
def get_btc_price(br):
data=requests.get('https://www.coingecko.com/en/coins/bitcoin')
soup = bs(data.text, 'html.parser')
price1=soup.find('table',{'class':'table b-b'})
fclas=price1.find('td')
spans=fclas.find('span')
price2=spans.text
price=(price2).strip()
x=float(price[1:])
y=x*br
z=round(y,2)
print(z)
return z
这已经工作了几个月,今天早上它决定停止。我收到的消息如下:在继续之前检查您的浏览器....,检查您的防病毒软件或咨询管理员以获得访问权限...和一些 cloudflare 乱码。
我试过了
import cloudscraper
scraper = cloudscraper.create_scraper() # returns a CloudScraper instance
print(scraper.get("https://www.coingecko.com/en/coins/bitcoin").text)
它仍然阻止我访问。我应该怎么办?有没有其他方法可以绕过这个,还是我做错了什么。
在处理连接协商时,这似乎不是爬虫的问题,而是服务器的问题。
添加用户代理,否则requests
使用默认
user_agent = #
response = requests.get(url, headers={ "user-agent": user_agent})
查看“要求”
url = #
response = requests.get(url)
for key, value in response.headers.items():
print(key, ":", value)