导航:首页 > 编程语言 > 文件爬虫python

文件爬虫python

发布时间:2024-08-22 14:27:28

python中的爬虫框架有哪些呢

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实现你想要的功能。更重要的,Python也是数据挖掘和分析的好能手。那么,Python爬虫一般用什么框架比较好?
一般来讲,只有在遇到比较大型的需求时,才会使用Python爬虫框架。这样的做的主要目的,是为了方便管理以及扩展。本文我将向大家推荐十个Python爬虫框架。
1、Scrapy:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。它是很强大的爬虫框架,可以满足简单的页面爬取,比如可以明确获知url pattern的情况。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。它的特性有:HTML, XML源数据 选择及提取 的内置支持;提供了一系列在spider之间共享的可复用的过滤器(即 Item Loaders),对智能处理爬取数据提供了内置支持。
2、Crawley:高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
3、Portia:是一个开源可视化爬虫工具,可让使用者在不需要任何编程知识的情况下爬取网站!简单地注释自己感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。简单来讲,它是基于scrapy内核;可视化爬取内容,不需要任何开发专业知识;动态匹配相同模板的内容。

4、newspaper:可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。作者从requests库的简洁与强大得到灵感,使用Python开发的可用于提取文章内容的程序。支持10多种语言并且所有的都是unicode编码。
5、Python-goose:Java写的文章提取工具。Python-goose框架可提取的信息包括:文章主体内容、文章主要图片、文章中嵌入的任何Youtube/Vimeo视频、元描述、元标签。
6、Beautiful Soup:名气大,整合了一些常用爬虫需求。它是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。Beautiful Soup的缺点是不能加载JS。
7、mechanize:它的优点是可以加载JS。当然它也有缺点,比如文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。
8、selenium:这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。Selenium是自动化测试工具,它支持各种浏览器,包括 Chrome,Safari,Firefox等主流界面式浏览器,如果在这些浏览器里面安装一个 Selenium 的插件,可以方便地实现Web界面的测试. Selenium支持浏览器驱动。Selenium支持多种语言开发,比如 Java,C,Ruby等等,PhantomJS 用来渲染解析JS,Selenium 用来驱动以及与Python的对接,Python进行后期的处理。
9、cola:是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。项目整体设计有点糟,模块间耦合度较高。
10、PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。Python脚本控制,可以用任何你喜欢的html解析包。

② 姣曚笟鐢熷繀鐪婸ython鐖铏涓婃坠鎶宸

Python蹇阃熶笂镓嬬殑7澶ф妧宸

Python蹇阃熶笂镓嬬埇铏镄7澶ф妧宸

1銆佸熀链鎶揿彇缃戦〉

get鏂规硶

post鏂规硶

2銆佷娇鐢ㄤ唬鐞咺P

鍦ㄥ紑鍙戠埇铏杩囩▼涓缁忓父浼氶亣鍒癐P琚灏佹帀镄勬儏鍐碉纴杩欐椂灏遍渶瑕佺敤鍒

浠g悊IP锛

鍦╱rllib 2鍖呬腑链埘roxy Handler绫伙纴 阃氲繃姝ょ被鍙浠ヨ剧疆浠g悊

璁块梾缃戦〉锛屽备笅浠g爜鐗囨碉细

3銆丆ookies澶勭悊

cookies鏄镆愪簺缃戠珯涓轰简杈ㄥ埆鐢ㄦ埛韬浠姐佽繘琛宻ession璺熻釜钥

鍌ㄥ瓨鍦ㄧ敤鎴锋湰鍦扮粓绔涓婄殑鏁版嵁(阃氩父缁忚繃锷犲瘑) 锛 python鎻愪緵浜

cookie lib妯″潡鐢ㄤ簬澶勭悊cookies锛 cookie lib妯″潡镄勪富瑕佷綔

鐢ㄦ槸鎻愪緵鍙瀛桦偍cookie镄勫硅薄锛 浠ヤ究浜庝笌urllib 2妯″潡閰嶅悎浣

鐢ㄦ潵璁块梾Internet璧勬簮銆

浠g爜鐗囨碉细

鍏抽敭鍦ㄤ簬Cookie Jar() 锛 瀹幂敤浜庣$悊HTTP cookie鍊笺佸瓨鍌

HTTP璇锋眰鐢熸垚镄刢ookie銆佸悜浼犲嚭镄凥TTP璇锋眰娣诲姞cookie

镄勫硅薄銆傛暣涓猚ookie閮藉瓨鍌ㄥ湪鍐呭瓨涓锛 瀵笴ookie Jar瀹炰緥杩

琛屽瀮鍦惧洖鏀跺悗cookie涔熷皢涓㈠け锛 镓链夎繃绋嬮兘涓嶉渶瑕佸崟镫铡绘搷浣

镓嫔姩娣诲姞cookie锛

4銆佷吉瑁呮垚娴忚埚櫒

镆愪簺缃戠珯鍙嶆劅鐖铏镄勫埌璁匡纴浜庢槸瀵圭埇铏涓寰嬫嫆缁濊锋眰銆傛墍浠ョ敤

urllib 2鐩存帴璁块梾缃戠珯缁忓父浼氩嚭鐜癏TTP Error 403锛

Forbidden镄勬儏鍐点

瀵规湁浜沨eader瑕佺壒鍒鐣欐剰锛 Server绔浼氶拡瀵硅繖浜沨eader

锅氭镆ワ细

1.User-Agent链変簺Server鎴朠roxy浼氭镆ヨュ硷纴 鐢ㄦ潵鍒

鏂鏄钖︽槸娴忚埚櫒鍙戣捣镄凴equest銆

2.Content-Type鍦ㄤ娇鐢≧EST鎺ュ彛镞讹纴 Server浼氭镆ヨ

鍊硷纴 鐢ㄦ潵纭瀹欻TTP Body涓镄勫唴瀹硅ユ庢牱瑙f瀽銆

杩欐椂鍙浠ラ氲繃淇鏀筯ttp鍖呬腑镄删eader𨱒ュ疄鐜帮纴 浠g爜鐗囨靛备笅

5銆侀獙璇佺爜镄勫勭悊

瀵逛簬涓浜涚亩鍗旷殑楠岃瘉镰侊纴鍙浠ヨ繘琛岀亩鍗旷殑璇嗗埆銆傛垜浠鍙杩涜岃繃涓

浜涚亩鍗旷殑楠岃瘉镰佽瘑鍒锛屼絾鏄链変簺鍙崭汉绫荤殑楠岃瘉镰侊纴姣斿12306

锛屽彲浠ラ氲繃镓撶爜骞冲彴杩涜屼汉宸ユ墦镰侊纴褰撶劧杩欐槸瑕佷粯璐圭殑銆

6銆乬zip铡嬬缉

链夋病链夐亣鍒拌繃镆愪簺缃戦〉锛屼笉璁烘庝箞杞镰侀兘鏄涓锲涔辩爜銆傚搱鍝堬纴闾

璇存槑浣犺缮涓岖煡阆撹稿归eb链嶅姟鍏锋湁鍙戦佸帇缂╂暟鎹镄勮兘锷涳纴 杩椤彲

浠ュ皢缃戠粶绾胯矾涓娄紶杈撶殑澶ч噺鏁版嵁娑埚噺60%浠ヤ笂銆傝繖灏ゅ叾阃傜敤浜

XML web链嶅姟锛 锲犱负XML鏁版嵁镄勫帇缂╃巼鍙浠ュ緢楂樸

浣嗘槸涓鑸链嶅姟鍣ㄤ笉浼氢负浣犲彂阃佸帇缂╂暟鎹锛岄櫎闱炰綘锻婅瘔链嶅姟鍣ㄤ綘鍙

浠ュ勭悊铡嬬缉鏁版嵁銆

浜庢槸闇瑕佽繖镙蜂慨鏀逛唬镰侊细

杩欐槸鍏抽敭锛氩垱寤篟equest瀵硅薄锛 娣诲姞涓涓狝ccept-

encoding澶翠俊鎭锻婅瘔链嶅姟鍣ㄤ綘鑳芥帴鍙枧zip铡嬬缉鏁版嵁銆

铹跺悗灏辨槸瑙e帇缂╂暟鎹锛

7銆佸氱嚎绋嫔苟鍙戞姄鍙

鍗旷嚎绋嫔お鎱㈢殑璇濓纴灏遍渶瑕佸氱嚎绋嬩简锛岃繖閲岀粰涓绠鍗旷殑绾跨▼姹犳ā𨱒

杩欎釜绋嫔簭鍙鏄绠鍗曞湴镓揿嵃浜1-10锛屼絾鏄鍙浠ョ湅鍑烘槸骞跺彂镄勚

铏界劧璇碢ython镄勫氱嚎绋嫔緢楦¤倠锛 浣嗘槸瀵逛簬鐖铏杩欑岖绣缁滈戠箒鍨

锛岃缮鏄鑳戒竴瀹氱▼搴︽彁楂樻晥鐜囩殑銆

③ 濡备綍鍏ラ棬 Python 鐖铏

Python鏄涓绉嶉潪甯告祦琛岀殑缂栫▼璇瑷锛屼篃鏄鐖铏棰嗗烟甯哥敤镄勫伐鍏蜂箣涓銆傚傛灉鎭ㄦ兂鍏ラ棬Python鐖铏锛屽彲浠ユ寜镦т互涓嬫ラよ繘琛岋细1. 瀛︿範Python锘虹鐭ヨ瘑锛氢简瑙Python镄勮娉曘佹暟鎹绫诲瀷銆佹祦绋嬫带鍒剁瓑锘烘湰姒傚康銆傚彲浠ラ氲繃鍦ㄧ嚎鏁欑▼銆佽嗛戞暀绋嬫垨鍙傝冧功绫嶆潵瀛︿範銆2. 瀛︿範缃戠粶鐖铏锘虹鐭ヨ瘑锛氢简瑙d粈涔堟槸缃戠粶鐖铏锛屼互鍙婄埇铏镄勫师鐞嗗拰锘烘湰娴佺▼銆傚︿範HTTP鍗忚銆丠TML瑙f瀽绛夌浉鍏崇煡璇嗐3. 瀛︿範Python鐖铏搴掳细Python链夊緢澶氢紭绉镄勭埇铏搴掳纴濡俣equests銆丅eautifulSoup銆丼crapy绛夈傚彲浠ラ夋嫨鍏朵腑涓涓搴撹繘琛屽︿範鍜屽疄璺点4. 瀹炶返椤圭洰锛氶夋嫨涓涓绠鍗旷殑缃戠珯浣滀负缁冧範瀵硅薄锛屽皾璇曚娇鐢≒ython鐖铏搴撹繘琛屾暟鎹閲囬泦銆傚彲浠ヤ粠銮峰彇缃戦〉鍐呭广佽В鏋怘TML銆佹彁鍙栨暟鎹绛夋柟闱㈣繘琛屽疄璺点5. 娣卞叆瀛︿範锛氶殢镌瀵笔ython鐖铏镄勭啛鎭夌▼搴︽彁楂桡纴鍙浠ュ︿範镟撮珮绾х殑鐖铏鎶链锛屽傚姩镐佺绣椤电埇鍙栥佸弽鐖铏绛栫暐搴斿圭瓑銆傚叓鐖楸奸噰闆嗗櫒鏄涓娆惧姛鑳藉叏闱銆佹搷浣灭亩鍗曘侀傜敤锣冨洿骞挎硾镄勪簰镵旂绣鏁版嵁閲囬泦鍣锛屽彲浠ュ府锷╃敤鎴峰揩阃熻幏鍙栨墍闇镄勬暟鎹銆备简瑙f洿澶氭暟鎹閲囬泦镄勬柟娉曞拰鎶宸э纴鍙浠ュ弬钥冨叓鐖楸奸噰闆嗗櫒镄勬暀绋嬶纴璇峰墠寰瀹樼绣鏁欑▼涓庡府锷╀简瑙f洿澶氲︽儏銆

④ python爬虫的工作步骤

当前处于一个大数据的时代,一般网站数据来源有二:网站用户自身产生的数据和网站从其他来源获取的数据,今天要分享的是如何从其他网站获取你想要的数据。

目前最适合用于写爬虫的语言是python,python中最受欢迎的爬虫框架是scrapy,本文围绕scrapy来展开讲解爬虫是怎么工作的。

1.如下图所示,爬虫从编写的spider文件中的start_urls开始,这个列表中的url就是爬虫抓取的第一个网页,它的返回值是该url对应网页的源代码,我们可以用默认的parse(self,response)函数去打印或解析这个源代码

2.我们获取到源代码之后,就可以从网页源代码中找到我们想要的信息或需要进一步访问的url,提取信息这一步,scrapy中集成了xpath,正则(re),功能十分强大,提取到信息之后会通过yield进入到中间件当中。

中间件包括爬虫中间件和下载中间件,爬虫中间件主要用于设置处理爬虫文件中的代码块,下载中间件主要用于判断爬虫进入网页前后的爬取状态,在此中间件中,你可以根据爬虫的返回状态去做进一步判断。

最后我们将yield过来的item,即就是我们想要的数据会在pipeline.py文件中进行处理,存入数据库,写入本地文件,都可以在这里进行,另外,为了减少代码冗余,建议所有与设置参数有关的参数,都写在settings.py中去

阅读全文

与文件爬虫python相关的资料

热点内容
单片机反汇编修改文字 浏览:864
网站部署python 浏览:998
kettlelinux教程 浏览:677
地理科学pdf 浏览:147
单片机数据读取 浏览:392
法语教程pdf 浏览:996
面试服务器出现502怎么定位 浏览:803
java读取http 浏览:487
列宁全集pdf下载 浏览:334
你好法语pdf 浏览:408
安卓怎么样让手机失去色彩 浏览:651
oracle11gr2linux 浏览:141
茶叶pdf 浏览:23
pdf图怎么打印 浏览:142
app图标有个e是什么app 浏览:266
linux运行python程序 浏览:238
如何打开已编译文件 浏览:215
选购云服务器如何注册 浏览:460
阿猫一个人拍解压视频 浏览:200
爆闪单片机 浏览:717