• 最初的源代码
import re
from selenium import webdriver
import time

browser = webdriver.Chrome()
url = 'http://www.sse.com.cn//disclosure/credibility/supervision/inquiries/'
browser.get(url)
time.sleep(3) #这里必须加3秒的延迟,因为需要等待网页加载完毕
data = browser.page_source
#print(data)

import pandas as pd
table_all = pd.DataFrame()
for i in range(10): #爬取前10页的表格
    browser.find_element_by_xpath('//*[@id="ht_codeinput"]').send_keys(i + 1)
    browser.find_element_by_xpath('//*[@id="pagebutton"]').click()
    time.sleep(3) #这里必须加3秒的延迟,因为需要等待网页加载完毕
    data = browser.page_source

    p_href = '<td><a href="(.*?)" target="_blank">.*?</a></td>' #获取每个文件的链接
    href = re.findall(p_href,data)

    table = pd.read_html(data)[0] #获取表格数据
    table['网址'] = href #拼接网址列
    table_all = table_all.append(table) #拼接表格


table_all
  • 报错如下
    在这里插入图片描述

添加标题的xpath表达式,解决该问题

  • 新增20和22行代码
import re
from selenium import webdriver
import time

browser = webdriver.Chrome()
url = 'http://www.sse.com.cn//disclosure/credibility/supervision/inquiries/'
browser.get(url)
time.sleep(3) #这里必须加3秒的延迟,因为需要等待网页加载完毕
data = browser.page_source
#print(data)

import pandas as pd
table_all = pd.DataFrame()
for i in range(10): #爬取前10页的表格
    browser.find_element_by_xpath('//*[@id="ht_codeinput"]').send_keys(i + 1)
    browser.find_element_by_xpath('//*[@id="pagebutton"]').click()
    time.sleep(3) #这里必须加3秒的延迟,因为需要等待网页加载完毕
    data = browser.page_source

    p_title = '<td><a href=".*?" target="_blank">(.*?)</a></td>'
    p_href = '<td><a href="(.*?)" target="_blank">.*?</a></td>' #获取每个文件的链接
    title = re.findall(p_title,data)
    href = re.findall(p_href,data)

    table = pd.read_html(data)[0] #获取表格数据
    table['网址'] = href #拼接网址列
    table_all = table_all.append(table) #拼接表格


table_all

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐