tag 标签: 爬虫

相关博文
  • 热度 4
    2019-7-14 15:08
    1740 次阅读|
    0 个评论
    【零基础】Selenium:Webdriver图文入门教程java篇(附相关包下载) ... ...
    一、selenium2.0简述   与一般的浏览器测试框架(爬虫框架)不同,Selenium2.0实际上由两个部分组成Selenium+webdriver,Selenium负责用户指令的解释(code),webdriver则负责对浏览器进行控制和页面解析。所以使用Selenium2.0时需要相应版本的webdriver和浏览器,程序运行过程中会通过webdriver启动一个真实的浏览器。由于webdriver+浏览器的组合,Selenium不存在对js、ajax解析的问题,它直接使用浏览器对网站代码进行解析获取web代码的执行结果,所以Selenium是最佳的web自动化测试框架,同时也是完美的js/ajax页面爬虫。 二、环境准备   Selenium支持数种语言开发,这里我使用的是java。    1、javaSDK ,最新版即可,编译器使用的是eclipse    2、Selenium ,版本:Selenium-java-3.141(文末附下载)    3、chrome浏览器 ,版本:chrome-75(32位)支持多种浏览器,我习惯chrome(文末附下载)   4 、webdriver ,版本:chromedriver-75(32位)版本很多,需要与浏览器版本对应(文末附下载) 三、安装软件    1、将Selenium-java-3.141解压,找到jar文件   libs目录内还有几个    2、安装chrome 属性查看其安装路径,记住这个安装路径:   “C:\Users\ThinkPad\AppData\Local\Google\Chrome\Application\chrome.exe”    3、chromedriver   将下载的chromedriver.exe放到C盘根目录即可 四、测试项目    1、新建一个java项目       Add External JARs,找到刚才Selenium-java-3.141中的jar文件,点击打开将jar文件引入项目   不要忘了libs目录中还有    3、给项目新建一个main class    4、输入下面的测试代码    5、运行   程序会启动一个chrome浏览器并自动进入百度首页,数秒后将输出当前页面代码 五、更多学习资料   至此你已经学会了如何从零开始创建一个webdriver项目,篇幅有限很多内容不能详细写了,不过我们还是准备了更多学习资料, 现在关注公众号“零基础爱学习”回复“SW”获得下面的资料:   1、Selenium-java-3.141   2、chrome-75(32位)   3、chromedriver-75(32位)   4、Selenium常用方法,如:元素定位、浏览器控制等 参考链接:https://blog.csdn.net/qq_22003641/article/details/79137327
  • 热度 2
    2019-7-12 22:25
    1951 次阅读|
    0 个评论
    【零基础】快速入门爬虫框架HtmlUnit
    迅速的HtmlUnit   htmlunit是一款开源的web页面分析工具,理论上来说htmlunit应用于网页的自动化测试,但是相对来说更多人使用它来进行小型爬虫的快速开发。使用htmlunit进行爬虫开发不仅是其运行速度快,更重要的是此框架上手更为容易(相对于POST、selenium)。 基本环境   1、java,首先你得安装好javaSDK(版本随意)、编译器(eclipse)   2、HtmlUnit,项目以jar文件的形式发布,可以上官网下载最新版本(htmlunit-2.35.0-bin.zip)并解压,所有jar文件都在lib目录中。文末附下载链接 创建项目、引入jar包   1、打开eclipse,新建一个java项目   2、右键项目选择属性(Properties) “Add External JARs” lib目录),将所有jar文件选中,点击“打开”按钮,而后点击“OK”按钮,则htmlunit所有jar文件就引入了我们新建的项目,在此项目中也就可以直接使用htmlunit提供的各种功能来实现网页分析。 简单实例   1、新建一个class文件   2、输入下述代码   运行一下看看是否得到了页面的xml代码以及百度网站首页的文本内容 更多学习资料   只是简单的运行起来当然不够,所以我们准备了更多的学习资料, 关注公众号“零基础爱学习”回复“HU” 获取《HtmlUnit官方简易教程中译版》,内容包括:   1、使用不同版本的浏览器打开网页   2、找到页面中特定的元素   3、元素检索   4、点击页面中的按钮 以及前面说到的htmlunitjar包最新版本(htmlunit-2.35.0-bin)
  • 热度 18
    2017-11-12 09:31
    1658 次阅读|
    0 个评论
    (一)1、功能描述: 目标:获取淘宝搜索页面的信息,提取商品名称和价格; 理解:淘宝的搜索接口,翻页的处理; 技术路线 : requests,re 2、程序的结构设计、 步骤1:提交商品搜索请求,循环获取页面; 步骤2:对每个页面,提取商品名称和价格信息; (二)代码 import requests import re def getHTMLText(url): try: r = requests.get(url,timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return def parsePage(ilt,html): try: plt = re.findall(r'\view_price\:\ *\',html) tlt = re.findall(r'\raw_title\\:\.*?',html) for i in range(len(plt)): price = eval(plt .split(':') ) title = eval(tlt .split(':') ) ilt.append( ) except: print() def printGoodsList(ilt): tplt = {:4}\t{:8}\t{:16} print(tplt.format(序号,价格,商品名称)) count = 0 for g in ilt: count = count +1 print(tplt.format(count,g ,g )) def main(): goods = 书包 depth = 2; start_url = http://s.taobao.com/search?q= + goods infoList=[] for i in range(depth): try: url = start_url + s= + str(44*i) html = getHTMLText(url) parsePage(infoList,html) except: continue printGoodsList(infoList) 输出结果 ​ ​
  • 热度 13
    2017-11-11 17:01
    1921 次阅读|
    0 个评论
    (一) 功能描述: 目标:获取上交所和深交所所有股票的名称和交易信息; 输出:保存到文件 技术路线:requests-bs4-re 候选数据网站的选择 新浪股票: http://finance.sina.com.cn/stock/ 百度股票: https://gupiao.baidu.com/stock/ 网站选取原则: 股票信息静态存在于HTML页面中,非js代码生成,没有robots协议限制; 程序的结构设计 步骤1:从东方财富网获取股票列表; 步骤2:根据股票列表逐个到百度股票获取个股信息; 步骤3:将结果存储到文件; (二)代码 import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url,code='utf-8'): try: r = requests.get(url,timeout=30) r.raise_for_status() r.encoding = code return r.text except: return def getStockList(lst,stockURL): html = getHTMLText(stockURL,'GB2312') soup = BeautifulSoup(html,'html.parser') a = soup.find_all('a') for i in a: try: href = i.attrs lst.append(re.findall(r \d{6},href) ) except: continue def getStockInfo(lst,stockURL,fpath): count = 0 for stock in lst: url = stockURL + stock + .html html = getHTMLText(url) try: if html == : continue infoDict = {} soup=BeautifulSoup(html,'html.parser') stockInfo = soup.find('div',attrs={'class':'stock-bets'}) name = stockInfo.find_all(attrs={'class':'bets-name'}) infoDict.update({'股票名称':name.text.split() }) keyList = stockInfo.find_all('dt') valueList = stockInfo.find_all('dd') for i in range(len(keyList)): key = keyList .text val = valueList .text infoDict = val with open(fpath,'a',encoding='utf-8') as f: f.write(str(infoDict)+'\n') count = count + 1 print(\r当前进度:{:.2f}%.format(count*100/len(lst)),end=) except: traceback.print_exc() continue def main(): stock_list_url = http://quote.eastmoney.com/stocklist.html stock_info_url = https://gupiao.baidu.com/stock/ output_file = H://BaiduStockInfo.txt slist=[] ​ ​ getStockList(slist,stock_list_url) getStockInfo(slist,stock_info_url,output_file) main()  
  • 热度 18
    2017-11-10 09:23
    976 次阅读|
    0 个评论
    (一)正则表达式: 通用的字符串表达框架; 简洁表达一组字符串的表达式; 针对字符串表达“简洁”和“特征”思想的工具; 判断某字符串的特征归属; 正则表达式在文本中的常见作用: 表达文本类型的特征(病毒); 同时查找或替换一组字符串; 匹配字符串的全部或部分; 正则表达式的使用: 编译:将符合正则表达式语法的字符串转换成正则表达式特征。 (二)正则表达式的语法 (三)正则常用的操作符 (四)正则表达式实例 (五)re库的主要功能函数 正则表达式的表示类型 (1)raw string 类型(原生字符串类型) re 库采用 raw string 类型表示正则表达式,表示为 r’text’ 。 例如:大陆地区的邮政编码 : r’ \d{5}’        国内的电话号码: r’\d{3}-\d{8}|\d{4}-\d{7}’    原生字符串类型是不包含转义符的字符串。 (2)string 类型,更加繁琐     例如 ’ \\d{5} ’                   ’\\d{3}-\\d{8}|\\d{4}-\\d{7}’ 所以当正则表达式包含转义字符时,使用 raw string 。 1、re.search(pattern,string,flags=0) 在一个字符串中搜索匹配正则表达式的第一个位置,返回 match 对象。 pattern: 正则表达式的字符串或原生字符串的表示 ; string: 带匹配字符串; flags: 正则表达式使用时的控制标记; 代码 2、re.match(pattern,string,flags=0) 从一个字符串的开始位置起匹配正则表达式,返回match对象 3、re.findall(pattern,string,flags=0) 搜索字符串,以列表类型返回全部能匹配的子串。 4、re.split(pattern,string,maxsplit=0,flags=0) 将一个字符串按照正则表达式匹配结果进行分割,返回列表类型。 maxsplit: 最大分割数,剩余部分作为最后一个元素输出。 5、re.finditer(pattern,string,flags=0) 搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是 match 对象。 6、re.sub(pattern,repl,string,count=0,flags=0) 在一个字符串中替换所有匹配正则表达式的子串,返回替换后的字符串。 Pattern: 正则表达式的字符串或原生字符串表示; Repl: 替换匹配字符串的字符串; String: 待匹配的字符串; Count: 匹配的最大替换数; (六)re库的另一种用法 (七)match对象 1、match对象的属性 2、match对象的方法 (八)re库的贪婪匹配和最小匹配 Re 库默认采用贪婪匹配,即输出匹配最长的字符串。 1、最小匹配操作符 ​ ​
相关资源
  • 所需E币: 1
    时间: 2022-8-31 17:37
    大小: 108.62MB
    上传者: 陈海峰
    精通Python网络爬虫-核心技术、框架与项目实战
  • 所需E币: 5
    时间: 2022-5-18 14:57
    大小: 107.11MB
    上传者: 西风瘦马
    《网络数据采集技术——Java网络爬虫实战》.pdf
  • 所需E币: 0
    时间: 2022-3-4 22:45
    大小: 1.01MB
    上传者: samewell
    爬虫学习导图.pdf
  • 所需E币: 0
    时间: 2022-3-4 21:08
    大小: 262.7KB
    上传者: samewell
    北京号外科技爬虫软件工程师面试题.pdf
  • 所需E币: 1
    时间: 2022-3-2 13:13
    大小: 25.67MB
    上传者: 西风瘦马
    3210751_Scrapy网络爬虫实战.pdf
  • 所需E币: 1
    时间: 2022-3-1 16:01
    大小: 53.1MB
    上传者: 西风瘦马
    3207309_Python项目案例开发从入门到实战——爬虫、游戏和机器学习.pdf
  • 所需E币: 1
    时间: 2022-3-1 15:56
    大小: 50.24MB
    上传者: 西风瘦马
    3205244_Python网络爬虫实战(第2版).pdf
  • 所需E币: 1
    时间: 2022-3-1 15:46
    大小: 46.22MB
    上传者: 西风瘦马
    3213583_Python爬虫大数据采集与挖掘-微课视频版.pdf
  • 所需E币: 1
    时间: 2022-3-1 15:24
    大小: 37.63MB
    上传者: 西风瘦马
    3184302_Python网络爬虫实战.pdf
  • 所需E币: 1
    时间: 2022-3-1 15:21
    大小: 36.18MB
    上传者: 西风瘦马
    3209258_Python快乐编程——网络爬虫.pdf
  • 所需E币: 1
    时间: 2022-3-1 15:11
    大小: 33.39MB
    上传者: 西风瘦马
    3205419_玩转Python网络爬虫.pdf
  • 所需E币: 5
    时间: 2022-3-1 14:38
    大小: 14.91MB
    上传者: 西风瘦马
    内容简介本书讲解了如何使用Python编写网络爬虫,涵盖爬虫的概念、Web基础、Chrome、Charles和PacketCapture抓包、urllib、Requests请求库、lxml、BeautifulSoup、正则表达式解析数据、CSV、Excel、MySQL、Redis、MongoDB保存数据、反爬虫策略应对、爬虫框架Scrapy的使用与部署,以及应用案例。本书结构清晰、内容精练,代码示例典型实用,附带实践过程中遇到问题的解决方案,非常适合Python初学者和进阶读者阅读。图书在版编目(CIP)数据Python网络爬虫从入门到实践/庄培杰编著.—北京:电子工业出版社,2019.8(大数据及人工智能产教融合系列丛书)ISBN978-7-121-37105-9Ⅰ.①P…Ⅱ.①庄…Ⅲ.①软件工具-程序设计Ⅳ.①TP311.561中国版本图书馆CIP数据核字(2019)第144186号
  • 所需E币: 5
    时间: 2022-3-1 14:07
    大小: 7.15MB
    上传者: 西风瘦马
    内容简介本书是一本通过实战教初学者学习采集数据、清洗和组织数据进行分析及可视化的Python读物。书中案例均经过实战检验,笔者在实践过程中深感采集数据、清洗和组织数据的重要性,作为一名数据行业的“码农”,数据就是沃土,没有数据,我们将无田可耕。本书共分11章,6个核心主题:其一是Python基础入门,包括环境配置、基本操作、数据类型、语句和函数;其二是Python爬虫的构建,包括网页结构解析、爬虫流程设计、代码优化、效率优化、容错处理、反防爬虫、表单交互和模拟页面点击;其三是Python数据库应用,包括MongoDB、MySQL在Python中的连接与应用;其四是数据清洗和组织,包括NumPy数组知识、pandas数据的读写、分组变形、缺失值异常值处理、时序数据处理和正则表达式的使用;其五是综合应用案例,帮助读者贯穿爬虫、数据清洗与组织的过程;最后是数据可视化,包括Matplotlib和Pyecharts两个库的使用,涉及饼图、柱形图、线图、词云图、地图等图形,帮助读者进入可视化的殿堂。本书以实战为主,适合Python初学者及高等院校的相关专业学生,也适合Python培训机构作为实验教材使用。图书在版编目(CIP)数据Python3爬虫、数据清洗与可视化实战/零一,韩要宾,黄园园著.—北京:电子工业出版社,2018.3ISBN978-7-121-33359-0
  • 所需E币: 3
    时间: 2022-1-26 19:16
    大小: 8.54MB
    上传者: samewell
    Python3网络爬虫数据采集.pdf
  • 所需E币: 5
    时间: 2021-3-21 00:37
    大小: 14.53MB
    上传者: samewell
    精通Scrapy网络爬虫《精通Scrapy网络爬虫》深入系统地介绍了Python流行框架Scrapy的相关技术及使用技巧。《精通Scrapy网络爬虫》共14章,从逻辑上可分为基础篇和高级篇两部分,基础篇重点介
  • 所需E币: 0
    时间: 2021-3-17 16:18
    大小: 422.79KB
    上传者: Argent
    随着人工智能的不断崛起,当今对人工智能产品开发的人才需求也日益增加,从原来的单片机应用到现在的系统级高度集成的CPU开发,人类在电子领域不断创新,本人收集了有关机器人开发的资料,对这方面感兴趣的电子工程师们可以相互交流、借鉴学习。
  • 所需E币: 3
    时间: 2020-12-28 23:09
    大小: 12.27KB
    上传者: sense1999
    史上最经典的教学视频之人工智能Python3入门到精通及Python网络爬虫网盘资料
  • 所需E币: 1
    时间: 2020-11-26 16:22
    大小: 263.41KB
    上传者: sense1999
    1分钟搞定Scrapy分布式爬虫、队列和布隆过滤器
  • 所需E币: 0
    时间: 2020-9-18 19:00
    大小: 16.47MB
    上传者: LGWU1995
    精通Scrapy网络爬虫
  • 所需E币: 0
    时间: 2020-9-18 18:58
    大小: 11.44MB
    上传者: LGWU1995
    用Python写网络爬虫