我一直在使用cfscrape模块,它允许你绕过网站上的cloudflare验证码保护...我已经访问了页面的内容,但似乎无法使我的代码工作,而是打印整个HTML。我只是想在<span class="availability">
import urllib2
import cfscrape
from bs4 import BeautifulSoup
import requests
from lxml import etree
import smtplib
import urllib2, sys
scraper = cfscrape.CloudflareScraper()
url = "http://www.sneakersnstuff.com/en/product/25698/adidas-stan-smith-gtx"
req = scraper.get(url).content
try:
page = urllib2.urlopen(req)
except urllib2.HTTPError, e:
print("hi")
content = e.fp.read()
soup = BeautifulSoup(content, "lxml")
result = soup.find_all("span", {"class":"availability"})
我省略了一些不相关的代码部分
答案 0 :(得分:1)
try:
page = urllib2.urlopen(req)
content = page.read()
except urllib2.HTTPError, e:
print("hi")
您应该阅读包含html代码的urlopen对象。
你应该把content
变量放在except之前。