Python爬虫之selenium高级功能

 原文地址表单操作元素拖拽页面切换弹窗处理  表单里面会有文本框、密码框、下拉框、登陆框等。这些涉及与页面的交互,比如输入、删除、点击等。前提是找到页面中的元素。例如下面有一个表单输入框:<inputtype="text"name="passwd"id="passwd-id"/>获取这个元素的方法:element=driver.find_element_by_id("passwd-id")element=driver.find_element_by_name("passwd")element=driver.find_elements_by_tag_name("input")element=driver.find_element_by_xpath("//input[@id='passwd-id']")注意:使用xpath的时候还需要注意的是,如果有多个元素匹配了xpath,它只会返回第一个匹配的元素。如果没有找到,那么会抛出 NoSuchElementException 的异常。 获取元素之和就要进行输入与点击操作了...

Python爬虫之urllib.parse详解

Python爬虫之urllib.parse转载地址Python中的urllib.parse模块提供了很多解析和组建URL的函数。urlparse()函数可以将URL解析成ParseResult对象。对象中包含了六个元素,分别为:协议(scheme)域名(netloc)路径(path)路径参数(params)查询参数(query)片段(fragment) fromurllib.parseimporturlparseurl='https://blog.csdn.net/xc_zhou/article/details/80907101'parsed_result=urlparse(url)print('parsed_result包含了',len(parsed_result),'个元素')print(parsed_result)print('scheme:',parsed_result.scheme)print('netloc:',parsed_result.netloc)print('path:',parsed_result.path)print('params:',parsed_...

Python爬虫之简单爬虫框架实现

目录框架流程调度器url管理器网页下载器网页解析器数据处理器具体演示效果        #导入模块importUrl_Managerimportparser_htmlimporthtml_outputimportdownloadclassSpiderMain(object):def__init__(self):#实例化:url管理器,网页下载器,网页解析器,数据输出self.urls=Url_Manager.UrlManager()self.parser=parser_html.Htmlparser()self.download=download.download()self.outputer=html_output.HtmlOutputer()defcraw(self,root_url):count=1#向列表里面添加新的单个urlself.urls.add_new_url(root_url)#判断待爬取的url列表里面有没有新的urlwhileself.urls.has_new_url():try:#如...

Python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

目录随机User-Agent获取代理ip检测代理ip可用性      fake_useragent库,伪装请求头fromfake_useragentimportUserAgentua=UserAgent()#ie浏览器的useragentprint(ua.ie)#opera浏览器print(ua.opera)#chrome浏览器print(ua.chrome)#firefox浏览器print(ua.firefox)#safri浏览器print(ua.safari)#最常用的方式#写爬虫最实用的是可以随意变换headers,一定要有随机性。支持随机生成请求头print(ua.random)print(ua.random)print(ua.random)    在免费的代理网站爬取代理ip,免费代理的采集也很简单,无非就是:访问页面页面—>正则/xpath提取—>保存代理ip网站有代理:https://www.youdaili.net/Daili/guonei/66代理:ht...

python爬虫之下载文件的方式总结以及程序实例

   目录第一种方法:urlretrieve方法下载第二种方法:requestdownload第三种方法:视频文件、大型文件下载实战演示  程序示例:importosfromurllib.requestimporturlretrieveos.makedirs('./img/',exist_ok=True)#创建目录存放文件image_url="http://www.51dev.com//FileUpload/news/202004/20200429233154521.jpg"urlretrieve(image_url,'./img1/image1.png')#将什么文件存放到什么位置   补充知识:os.makedirs()方法用于递归创建目录。像mkdir(),但创建的所有intermediate-level文件夹需要包含子目录。语法makedirs()方法语法格式如下:os.makedirs(path,mode=0o777)参数path--需要递归创建的目录。mode--权限模式。返回值该方法没有返回值。   &...

Python爬虫之selenium的使用(八)

一、简介二、安装三、使用      Selenium是自动化测试工具。它支持各种浏览器,包括Chrome,Safari,Firefox等主流界面式浏览器,如果你在这些浏览器里面安装一个Selenium的插件,那么便可以方便地实现Web界面的测试。Selenium支持这些浏览器驱动。Selenium支持多种语言开发,比如Python,Java,C,Ruby等等。 1.安装seleniumpip3installselenium2.配置驱动  (下载驱动,然后将驱动文件路径配置在环境变量)驱动下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads注意:你下载的驱动要和你浏览器版本能够兼容才能使用。  1.声明浏览器对象fromseleniumimportwebdriverbrowser=webdriver.Chrome()browser=webdriver.Firefox()browser=webdriver.Edge()b...

python爬虫之分析Ajax请求抓取抓取今日头条街拍美图(七)

1.进入浏览器,搜索今日头条,在搜索栏搜索街拍,然后选择图集这一栏。  2.按F12打开开发者工具,刷新网页,这时网页回弹到综合这一栏,点击图集,在开发者工具中查看XHR这个选项卡。    3.具体分析url,请求参数当我们在请求图集这个页面时,url如下: 请求参数如下: 我们可以看到这个url的构成:前面:https://www.toutiao.com/search_content/?后面:offset=0&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=true&count=20&cur_tab=3&from=gallery  程序主体importrequestsfromurllib.parseimporturlencodefromrequests.exceptionsimportRequestExceptionimportjsonimportreimportosimportpymong...

Python爬虫之PyQuery使用(六)

pyquery能够通过选择器精确定位DOM树中的目标并进行操作。pyquery相当于jQuery的python实现,可以用于解析HTML网页等。它的语法与jQuery几乎完全相同,对于使用过jQuery的人来说很熟悉,也很好上手。 有4种方法可以进行初始化:可以通过传入字符串、lxml、文件或者url来使用PyQueryfrompyqueryimportPyQueryaspqfromlxmlimportetreed=pq("<html></html>")#传入字符串d=pq(etree.fromstring("<html></html>"))#传入lxmld=pq(url='http://baidu.com/')#传入urld=pq(filename=path_to_html_file)#传入文件   html='''<html><body><ulclass="mh-col"><liclass="g-ellipsis"><aclass="g-a-noline"dat...
代码星球 代码星球·2020-04-29

Python爬虫之Beautiful Soup解析库的使用(五)

 Python第三方库,用于从HTML或XML中提取数据官方:http://www.crummv.com/software/BeautifulSoup/安装:pipinstallbeautifulsoup4 soup=BeautifulSoup(html_doc,'html.parser‘,from_encoding='utf-8')第一个参数:html文档字符串第二个参数:html解析器第三个参数:html文档的编码 标签选择器操作注意:只会返回一个指定的标签,这也是标签选择器的特性选择元素frombs4importBeautifulSouphtml_doc='''<divclass="container"><ahref="/pc/home?sign=360_79aabe15"class="logo"></a><navid="nnav"data-mod="nnav"><divclass="nnav-wrap"><ulclass="nnav-items"id="nnav_main...

Python爬虫之requests+正则表达式抓取猫眼电影top100以及瓜子二手网二手车信息(四)

一.首先我们先分析下网页结构 可以看到第一页的URL和第二页的URL的区别在于offset的值,第一页为0,第二页为10,以此类推。    二.<dd>标签的结构(含有电影相关信息)  三、源代码importrequestsimportreimportjsonfromrequests.exceptionsimportRequestException#获取页面源代码defget_one_page(url,headers):try:response=requests.get(url,headers=headers)ifresponse.status_code==200:returnresponse.textexceptRequestException:returnNone#解析defparse_one_page(html):#生成正则表达式对象pattern=re.compile('<dd>.*?board-index.*?>(d+)</i>.*?data-src="(.*?)"...

Python爬虫正则表达式的使用(三)

 re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none参数介绍:pattern:正则表达式string:匹配的目标字符串flags:匹配模式 正则表达式的匹配模式:  importrecontent='hello123456World_ThisisaRegexDemo'print(len(content))result=re.match('^hellosd{6}sw{10}.*Demo$$',content)print(result)print(result.group())#返回匹配结果print(result.span())#返回匹配结果的范围 结果运行如下:39<_sre.SRE_Matchobject;span=(0,39),match='hello123456World_ThisisaRegexDemo'>hello123456World_ThisisaRegexDemo(0,39)  使用(.*)匹配更多内容importrecontent='hello12...

Python爬虫笔记(一):爬虫基本入门

最近在做一个项目,这个项目需要使用网络爬虫从特定网站上爬取数据,于是乎,我打算写一个爬虫系列的文章,与大家分享如何编写一个爬虫。这是这个项目的第一篇文章,这次就简单介绍一下Python爬虫,后面根据项目进展会持续更新。 一、何谓网络爬虫 网络爬虫的概念其实不难理解,大家可以将互联网理解为一张巨大无比的网(渔网吧),而网络爬虫就像一只蜘蛛(爬虫的英文叫spider,蜘蛛的意思,个人认为翻译为网络蜘蛛是不是更形象呢哈哈),而这只蜘蛛便在这张网上爬来爬去,如果它遇到资源,那么它就会抓取下来。至于想抓取什么资源?这个由你自己来进行定义了,你想抓取什么就抓取什么,你具有绝对主宰能力,理论上讲你可以通过网络爬虫从互联网上获取任何你想要并且存在与互联网上的信息。 二、浏览网页的过程为了理解爬虫,我们应该了解浏览网页的过程,其实说白了,爬虫其实就是利用计算机模拟人类浏览网页。那么浏览网页的过程是什么呢? 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如http://image.baidu.com/,我们会看到几张的图片以及百度搜索框,这个过程其实就是用...

Python爬虫之Xpath语法

     XPath是一门在XML文档中查找信息的语言。XPath用于在XML文档中通过元素和属性进行导航。       XPath含有超过100个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和QName处理、序列处理、逻辑值等等。      XPath是W3C标准,XPath于1999年11月16日成为W3C标准。XPath被设计为供XSLT、XPointer以及其他XML解析软件使用。      在XPath中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。      XML文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。一、选取节点       ...
代码星球 代码星球·2020-04-18

(死宅福利)python爬虫脚本 爬取兔玩君分享计划 千套写真

转载请注明出处,https://www.cnblogs.com/CooperXia-847550730/p/10533558.html禁止用于商业用途,一切后果与本人无关小夏又来写博客啦7.28号更新:这次bug已经被修复了,这是现在大图和缩略图的url,有没有同学能看出来用的编码或者是hash函数的,救救救:http://www.51dev.com//FileUpload/news/202004/20200418111322528.jpghttp://www.51dev.com//FileUpload/news/202004/20200418111322653.jpgF0T8XzPwra6yZkoLvv2Z90EsdPzyytjgLk0sQl5RUI30nNli0OxejHpzyKVvywJXEm5yTRcZo6uQRDUMjgOeAu/u/GLDM9lMIBglnFv7YKftLBGTPBuZ18dsRxq7lLFRmwHNqHCyCn9OOp9AtNTrIM8rW93vyCEmhAT6ZRshSh4lWWBj1NuET2DQ8hxUAqFZ8lTOx.jpgBXgEbTpyf4w...

非常适合新手的一个Python爬虫项目: 打造一个英文词汇量测试脚本!

最近朋友在苦学英文,但是又不知道自己学的怎么样了,直到有一天,他找到了扇贝网,里面有个“评估你的单词量”功能非常的好,就推荐给我了! 今天我们就用python做一个小的爬虫,然后自己写一个脚本来实现这个功能吧!目标:打造一个英文词汇量测试脚本url:扇贝网工具:python3.6、pycharm、requests库思路:和网页一样,总共分三步: 先来看看网页中数据,用F12开发者工具抓包就可以为了更好的演示,这里网页缩小了。 点击开始,在来看看出现了什么 这里我们抓到了一个包,这个json数据中包含了所有的类别或者说是级别,一共十大类,我们点击”响应”验证下 可以看到,显示内容在我们抓到的json数据中,但是0和1中的内容有的一样,有的不一样是什么鬼?不要急,我们先选择‘高考’,在抓下包看看 选择高考后,网页直接给出了第二步,50个单词选择,注意,先看下抓到的json数据的真实地址 还记得我们在第一步抓到的包吗?0里面就是这个真实地址最后的cat...
首页上一页...45678...下一页尾页