4
データ用のWebサイトをクロールしようとしています.18歳以上のページにアクセスすると、警告ページが表示されます。私のクローラは通常、ほとんどのredditページで動作し、データを正常に取得できます。私はセレンを使って次のページに移動しようとしましたが、ブラウザを開くとクローラは成功しますが、クローラはそのページに従いません。以下は私のコード..Python scrap reddit確認ボタンがクロールを中断する
class DarknetmarketsSpider(scrapy.Spider):
name = "darknetmarkets"
allowed_domains = ["https://www.reddit.com"]
start_urls = (
'http://www.reddit.com/r/darknetmarkets',
)
rules = (Rule(LinkExtractor(allow=()), callback='parse_obj', follow=False),)
def __init__(self):
self.driver = webdriver.Firefox()
def parse(self, response):
self.driver.get('http://www.reddit.com/r/darknetmarkets')
#self.driver.get('https://www.reddit.com/over18?dest=https%3A%2F%2Fwww.reddit.com%2Fr%2Fdarknetmarketsnoobs')
while True:
try:
YES_BUTTON = '//button[@value="yes"]'
next = self.driver.find_element_by_xpath(YES_BUTTON).click()
url = 'http://www.reddit.com/r/darknetmarkets'
next.click()
except:
break
self.driver.close()
item = darknetItem()
item['url'] = []
for link in LinkExtractor(allow=(), deny=self.allowed_domains).extract_links(response):
item['url'].append(link.url)
print link
ボタンのCSS ..私はあなたがそのsubredditに年齢制限画面を迂回しようとしていることがわかり
<button class="c-btn c-btn-primary" type="submit" name="over18" value="yes">continue</button>
のRedditが持っている[API](https://www.reddit.com/の
コード礼儀をscrapyするためにそれらを送信した後
dev/api)。 – jordanm
私はたいていはプローを使用していますが、スクラッピーを好むのです。 – Anekdotin
セレンとセラピーは、特にあなたが別の人にセックスしない限り、お互いに通信しません。セレンがすべてのウェブサイトをクロールすると、すべてのデータが失われます。 –