【发布时间】:2018-09-07 13:11:10
【问题描述】:
我试图通过下面代码中显示的链接从所有页面中获取数据,但没有成功。
# -*- coding: utf-8 -*-
from time import sleep
from scrapy import Spider
from selenium import webdriver
from scrapy.selector import Selector
from scrapy.http import Request
from selenium.common.exceptions import NoSuchElementException
import pandas as pd
driver = webdriver.Chrome('D:\chromedriver_win32\chromedriver.exe')
driver.get('http://buyersguide.recyclingtoday.com/search')
results = list()
#scrpae data here
rows = driver.find_elements_by_xpath("//td[@style='font-weight:bold;']//parent::tr")
#get more pages
while True:
try:
driver.find_element_by_partial_link_text('Next').click()
sleep(15)
#scrpae data here
rows = driver.find_elements_by_xpath("//td[@style='font-weight:bold;']//parent::tr")
for i in range(0, len(rows)):
print(rows[i])
results.append(rows[i])
print('---')
except NoSuchElementException:
break
#get all the wanted data
records = []
for result in results:
company=result.find_element_by_xpath('./td[1]').text
address = result.find_element_by_xpath('./td[2]').text
contact= result.find_element_by_xpath('./td[3]//a').text
number= result.find_element_by_xpath('./td[5]').text
records.append((company,address,contact,number))
#output to be table
df = pd.DataFrame(records, columns=['company','number','address', 'contact'])
【问题讨论】:
-
什么不起作用?你有什么例外吗?
-
你发布的主要是代码......几乎没有解释。究竟是什么问题?它“不起作用”不是很具有描述性。转储代码并期望我们运行它并告诉您问题所在是不合理的。期望是您自己运行代码并进行一些调查和调试。完成此操作后仍然卡住,然后发布 1. 你想做什么(用文字),2. 你是如何尝试做的(用代码,minimal reproducible example)和描述什么不起作用(包括错误消息),示例 HTML 或页面链接,以及您尝试过的所有内容。
-
。我检查了代码,运行它,没有出现错误,但就是无法获取公司、联系人、号码等数据,但是如果我一一运行代码jupyter notebook,没问题。
标签: python selenium selenium-chromedriver