Cloudflare刮,寻找元素

时间:2016-12-31 08:57:49

标签: python html web-scraping beautifulsoup cloudflare

我一直在使用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"})

我省略了一些不相关的代码部分

1 个答案:

答案 0 :(得分:1)

try:
    page = urllib2.urlopen(req)
    content = page.read()
except urllib2.HTTPError, e:
    print("hi")

您应该阅读包含html代码的urlopen对象。

你应该把content变量放在except之前。