为爬取网页表格数据,较容想到的常规方式是通过requests请求以及lxml解析定位获取元素,此外还可以通过pandas库的read_html直接获取表格数据,得到的将是目标网页所有table表格的list集合。那么后者看似简单的方式是不是在时间上更有效率呢,在此做一个对比分析。
- 目标网页
以证监会官网披露的IPO表格为例,见链接证监会IPO申报披露信息统计
共198页,每页信息二十条。 - requests请求+lxml解析+xpath定位
from lxml import etree
import pandas as pd
from pandas import DataFrame
import time
import requests
import random
def pagedataget(html):
items=html.xpath('//*[@class="timeborder"]')
compname=[];publish_date=[];ssdbk=[];pubtype=[];pubinfo=[]
for item in items :
name=str(item.xpath('./td/text()')[0]).replace('\r','').replace('\n