python读取10万行数据_用Python抓取网页10万数据的解决方案

本文介绍了使用Python进行大规模数据抓取的实践,针对10万条网页数据,通过对比beautiful soup和lxml库的效率,优化了爬虫速度。在遇到链接断开的问题时,通过添加headers参数来解决。最后,文章提供了urllib与requests库的使用对比,并提及了使用CSSSelector提高爬取速度。
摘要由CSDN通过智能技术生成

用Python实现网页数据抓取

需求: 获取某网站近10万条数据记录的相关详细信息。

分析:数据的基本信息存放于近1万个页面上,每个页面上10条记录。如果想获取特定数据记录的详细信息,需在基本信息页面上点击相应记录条目,跳转到详细信息页面。详细信息页面的地址可从基本信息页面里的href属性获取。

方法:开始时使用beautiful soup进行爬网,因速度较慢,换用lxml,速度改善不明显。

beautiful soup

import bs4

import re

import requests

import lxml.html

f=open('testpython2.txt','w',encoding='utf-8')

j=30

while(j<41):

beautiful = requests.get(webaddress).content

soup=bs4.BeautifulSoup(beautiful,"lxml")

m=5

while m <85:

daf1=soup.find_all('a')[m].get_text()

if daf1!='哈哈':

daf=soup.find_all('a')[m-1].get('href')

c='webaddress1'+ str(daf)

if requests.get(c).status_code==500:

f.write('Cannot found!')

f.write('\n')

else:

beautiful1=requests.get(c).content

soup1=bs4.BeautifulSoup(beautiful1,"lxml")

daf2=soup1.find(id="project_div2")

p=2

while (p<20):

mm=daf2.find_all('td')[p].get_text()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值