python线程池抓取网页数据
因为最近朋友实验研究需要手动复制,粘贴www.chemsrc.com网页上的数据很繁琐,大致看了一下一共有4000多页,因此想到了用爬虫来爬取数据。
有了这个想法便来考虑试试
# 如何提取单个页面的数据
# 线程池,多个页面同时抓取import requests
from lxml import etree
import csv
# import pandas as pd
from concurrent.futures import ThreadPoolExecutorf = open("data.csv", mode="w", encoding="utf-8")
csvwriter = csv.writer(f)
headers = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36","referer": "https://www.chemsrc.com/casindex/"
}# 此处有个防盗链 需要加referdef download_one_page(url): # 创建爬取单个页面的函数,参数是网页地址# 拿到页面源代码resp = requests.post(url, headers=headers)html = etree.HTML(resp.text) # 创建xpath,来获得数据table = html.xpath(' //*[@id="idxTbl"]')[0]trs = table.xpath("./tr")# 拿到每个数据for tr in trs:c_name = tr.xpath("./td[1]/a/text()")e_name = tr.xpath("./td[2]/text()")nature = tr.xpath('./td[3]/text()')cas = tr.xpath('./td[4]/a/text()')num = tr.xpath("./td[5]/sub/text()")formula = tr.xpath("./td[5]/text()")key = 1for i in range(len(num)): # 因为爬取的是分子式,因此先把对应的数字,字母的两个列表拼接成完整的分子式formula.insert(key, num[i])key += 2csvwriter.writerows([c_name, e_name, nature, cas, "".join(formula)])print(url, "提取完毕!")if __name__ == '__main__':# download_one_page("https://www.chemsrc.com/casindex")with ThreadPoolExecutor(50) as t: # 线程池的创建for i in range(1, 200):t.submit(download_one_page,f"https://www.chemsrc.com/casindex/{i}.html")print("全部下载完毕!")
最后:最好自己再加一个sleep的时间和弄一个代理,因为太多次访问可能会被封IP...
纯属个人兴趣,无不良引导攻击网站
python线程池抓取网页数据相关推荐
- python爬网页数据用什么_初学者如何用“python爬虫”技术抓取网页数据?
原标题:初学者如何用"python爬虫"技术抓取网页数据? 在当今社会,互联网上充斥着许多有用的数据.我们只需要耐心观察并添加一些技术手段即可获得大量有价值的数据.而这里的&quo ...
- python 抓取网页数据
python 抓取网页数据 此文解决如何从不同网页爬取数据的问题及注意事项,重点说明requests库的应用. 在开始之前,要郑重说明一下,不是每一个网页都可以爬取数据哦.有的网页涉及个人隐私或其他敏 ...
- python 实时抓取网页数据并进行 筛查
python 实时抓取网页数据并进行 筛查 爬取数据的两种方法 : 方法 1 : 使用 requests.get() 方法,然后再解码,接着 调用 BeautifulSoup API 首先看 head ...
- Python爬虫之XPath基础教程:用代码抓取网页数据
Python爬虫之XPath基础教程:用代码抓取网页数据 在网络时代,网页数据是获取信息和进行分析的最重要的来源之一.Python的爬虫技术让我们可以轻松抓取网页数据,并进行数据处理.XPath是一种 ...
- Python 爬虫篇#笔记02# | 网页请求原理 和 抓取网页数据
目录 一. 网页请求原理 1.1 浏览网页的过程 1.2 统一资源定位符URL 1.3 计算机域名系统DNS 1.4 分析浏览器显示完整网页的过程 1.5 客户端THHP请求格式 1.6 服务端HTT ...
- cookie追加数据_集算器 SPL 抓取网页数据
[摘要] 集算器 SPL 支持抓取网页数据,根据抓取定义规则,可将网页数据下载到在本地进行统计分析.具体定义规则要求.使用详细情况,请前往乾学院:集算器 SPL 抓取网页数据! 网站上的数据源是我们进 ...
- 抓取网页数据并解析Android
抓取网页数据并解析 标签: 网页抓取jsoupAndroid 2016-03-02 13:54 1262人阅读 评论(1) 收藏 举报 分类: Android开发(原创)(7) 版权声明:本文为博 ...
- web scraper 抓取网页数据的几个常见问题
如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据. 相关文章: 最简单的数据抓取教程,人人都用得上 web scraper 进阶教程,人人都用得上 如果你在使用 web s ...
- php如何抓取网页内容,php如何抓取网页数据?
php抓取网页数据header("Content-type: text/html; charset=utf-8"); //$url = "https://www.cnbl ...
最新文章
- 怎么进u8系统服务器网址,服务器地址变更后如何进入u8
- AI研习丨专题:可解释推荐的强化学习框架
- aitken插值方法的c++代码_无人驾驶路径规划技术-三次样条插值曲线及Python代码实现...
- 数据结构之数组定义及基本操作(转)
- 关于Qomo OpenProject的进度(2006.01.04)
- html5页面转场,基于HTML5 SVG的页面过渡切换效果
- mysql复制主从集群搭建
- 通用职责分配软件原则之8-中介原则
- Android 驱动(17)---如何在linux中添加新的kernel module
- 深入浅出Go Runtime
- dede后台登陆提示 验证码不正确 解决办法(新版)
- 如何计算 R 中 F 统计量的 P 值
- 为什么学习Vue框架??
- SamSung WLAN AP:RCE漏洞复现
- 浏览器缓存机制 过期机制和验证机制
- 2021/8/12 网络机顶盒
- NOI openjudge 计算2的N次方
- 熊猫烧香制造者李俊出狱以后的六种出路
- 基于51单片机的贪吃蛇小程序(8*8LED点阵实现)by_jy
- GPS从入门到放弃(十一) --- 差分GPS
热门文章
- JavaAPI第二章
- 金融支持产业数字化转型,供应链金融创新促产融发展
- HKC神盾显示器MG25H参数如何?学生党电竞党的全新选择
- 使用Ajax发送http请求(getpost请求)
- 我的世界java18w50a_Minecraft我的世界Java版 18w15a更新内容
- c语言自学的论坛,C语言入门课程:C君带你玩编程
- 【2015DTCC】阿里、360、京东 NoSQL实践
- 杰理之inein走ADC,并复用fm引脚,使用省电容接法时,进linein出来后,麦声音变得很小解决方法【篇】
- 搭建scratch环境
- Matlab 一种获取树高的方法