【发布时间】:2019-05-31 07:33:37
【问题描述】:
我的代码分为两部分
使用 selenium 打开浏览器并添加详细信息以从页面获取结果
解析结果页面的 html 并将其写入 csv 文件。
问题 第二部分仅在我下载页面并手动添加本地 url(在我的计算机上)时才有效。如果我添加代码的第一部分,selenium 会打开浏览器,但不会导出 csv 文件。
我用来写这个的东西 - Ubuntu 伴侣 18.04 Pycharm 编辑器 火狐浏览器
我已经打印了代码的每一层并得到了正确的输出。但是,在 for 循环之后输出停止。
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import pandas as pd
import csv
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
os.environ["PATH"] += os.pathsep + r'/home/pierre/PycharmProjects/scraping/venv'
browser = webdriver.Firefox()
browser.get('http://karresults.nic.in/indexPUC_2019.asp')
reg = browser.find_element_by_id('reg')
reg.send_keys('738286')
sub = browser.find_element_by_class_name('btn-default')
sub.click()
url = browser.current_url
my_url = url
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
results = []
for record in page_soup.findAll('tr'):
for data in record.findAll('td'):
results = results + [data.text.replace(u'\xa0', u'').strip()]
print(results)
with open('myfile.csv', 'w') as f:
for item in results:
f.write(item + ',')
Pycharm 控制台没有错误
【问题讨论】:
标签: python selenium web-scraping beautifulsoup export-to-csv