精华内容
下载资源
问答
  • 利用BeautifulSoup网页抓去数据

    千次阅读 2015-01-28 17:11:20
    BeautifulSoup 的使用类似于一种对网页数据的分析原则,有时候由于标签并不全,很难一次性搞定所需要的,在这种情况下,复选以及特定条件的条件才行。  -->  -->;">  -->  -->  --> ...
    官方地址:http://www.crummy.com/software/BeautifulSoup
    import requests
    from bs4 import BeautifulSoup
    
    r = requests.get("http://zx.caipiao.163.com/trend/ssq_basic.html?periodNumber=100")
    
    soup = BeautifulSoup(r.text, "html5lib")
    
    #body = soup.find("body")
    data = soup.find(id="cpdata")
    
    print type(data)
    for i in data.find_all(align="center"):
    	print type(i)
    	if type(i) == type(data):
    		m = i.find_all("td",class_="chartBall02")
    		print type(m)#这就开始错了 类型不对
    #不能依靠<></>去指示位置,只能靠撒网
    blue = data.find_all("td",class_="chartBall02")
    red  = data.find_all("td",class_="chartBall01")
    print type(blue)
    
    
    import re
    #有时候如果搜索条件过为复杂需要引入正则表达式
    #ball = data.find_all(re.complie("chartBall0."))#你永远的不到想要的结构,因为这是属性里的数据,默认是<></>
    
    ball = data.find_all(class_=re.compile("chartBall0."))
    

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近感觉学了半天Python没写点啥挺对不起自己的,如是融汇了自己所学所长,学了一段网页抓去数据并做数据分析,结果........</span>

    我被BeautifulSoup搞崩溃了,这个烂货居然在我find_all时候返回ResultSet对象居然给我报错,我左右研究了一下,只有soup对象才能用find_all剩下的如果想要就得遍历list,一点都不美丽,罔我还去分析树结构

    BeautifulSoup 的使用类似于一种对网页数据的分析原则,有时候由于标签并不全,很难一次性搞定所需要的,在这种情况下,复选以及特定条件的条件才行。

    <body>
        --><div class="main chart_list clearfix">
          --><div style="position:relative;">
            --><table id="chartsTable" class="data_table">
              --><tbody id="cpdata">
                --><tr >
                   --><td align="center" title="开奖日期:2014-06-10 星期二">2014065</td>
                      --><td class="chartBall07">03</td>


    但是仔细想想也许越是趋近自然语言,越是这样吧,暂时说这些,等写完了再整理


    展开全文
  • 在这里插入代码片在我们使用爬虫爬取数据的时候,Selenium是一个很好的工具。Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括...

    在这里插入代码片在我们使用爬虫爬取数据的时候,Selenium是一个很好的工具。Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏。
    在我们抓取数据的时候,可能会经常发现这样的情况:页面上明明有60个我们想要的数据,但是我们实际抓取的时候却仅仅只有30条或者20条。这是为什么呢?实际上网站为了提高性能,往往在页面上只会展示一部分数据。当我们浏览完当前的数据的时候,会往下拉动滑动条,这时会发送ajax请求,展现另外一部分。但是我们在抓取的时候网页没有下滑,没有发送请求,所以另外一部分内容没有抓取到。解决办法如下:

    def  huadong(lists):
        # 滑动条滚动
        # 定义初始的滑动条的位置
        step = 0
        # 想抓取的数据的列表长度
    	list_len = len(lists)
    	# 计算下滑的高度(0表示不下滑,10000表示在最下边)
        hua_dong_shu = 10000 // list_len
        step += hua_dong_shu
        # 执行js,使页面下滑
        js = "var q=document.documentElement.scrollTop={}".format(step)
        self.driver.execute_script(js)
    

    以上为个人见解,如果和您的想法有所出入欢迎留言共同探讨。

    展开全文
  • 网页数据抓包入门教程上 ​ 最近几年python火了,很多小伙伴业内的业外的都想要学一学,但是我在网上搜教程,发现知识都很散,没有一条系统的主线可以串联,导致很多小伙伴在自学的时候往往需要浪费很多不必要的时间...

    网页数据抓包入门教程上

    ​ 最近几年python火了,很多小伙伴业内的业外的都想要学一学,但是我在网上搜教程,发现知识都很散,没有一条系统的主线可以串联,导致很多小伙伴在自学的时候往往需要浪费很多不必要的时间;我一直认为,人的脑容量是有限的,我们不可能在短时间内掌握所有的知识,所以我们在短时间内只需要定一个小目标,然后把完成这个目标的大纲或者目录拿下来,最后需要用什么,再跟随目录去学习,掌握需要用到的内容,这样才能最大化自己大脑算力的利用率。

    这一次我想要系统的把爬虫讲一讲;作为入门后学习的第一阶段,用爬虫来让自己的编程思维与学习的计算机语言交流方式融会贯通是非常有效且有利的,毕竟爬虫也是近年来的热门,在这个领域能做好也是能有不错收益的。以下我将介绍以下我的教程大纲,希望大家能够帮助大家构建自己学习目录:

    一 . 网页数据的基本认识
    • 认识链接(URI与URL)
    • 认识网页的语言(HTML)
    • 网页的构成()
    二 . 网页的爬取
    • 认识爬虫协议
    • 书写爬虫程序
    • 数据持久化
    • 代理ip的使用(补充)
    三 . 多线程操作
    • 线程
    • 线程池

    以上是我接下来的教程大纲,当然,在接下来的实际教程中有些时候我也会对局部进行拓展,大家按需学习,话不多说,开始我们的学习吧

    1.1 认识链接

    ​ 我们平时输入的链接,其实是由多个部分构成,常见的网址一般为 https// 域名(IP地址) : 端口号 / 资源路径

    ​ http或者https是我们超文本传输的协议,因为我们常常浏览的网页其实就是超文本,HTML是书写超文本的语言,hppt就是我们超文本传输的一种协议。协议简单来说,就是请求响应式协议,你在想要浏览一个网页时,输入链接,就是发起了请求,这个时候,服务器收到你的请求以后,给你页面,这就是响应。

    一般来讲,我们输入或打开一个连接的时候,我们的的浏览器会自动生成请求,这个请求一般由三部分构成:请问行/请求头/消息体

    ——请求行里有我们的行为清单:我们要干什么做什么,让服务器一目了然自己能不能处理我的请求

    ——请求头里有我们的基本信息:告诉服务器我们的额外信息(我是谁,我用的什么浏览器,我的身份信息是,,,,)让服务器判断你的身份,比如你以前有没有登录过,是不是会员啥的

    ——消息体里有你要给服务器发的数据:你输入的账号密码,验证码,上传的图片文字音视频等等

    那么服务器收到我们的请求判断了以后,也会给我响应,响应里也有响应行响应头消息体

    ——响应行首先会告诉我们是否成功受理了请求:这里会给一个响应状态码,200范围内都是成功了,我们一般办不到这个响应码,300范围内,一般是外链接,它会再次跳转一个页面,400范围内就是你的请求有问题,比如网页不存在,被这个网站禁止访问等等,常见的403,就是你请求的页面不存在

    ——响应头里都是键值对,里面有服务器给浏览器的信息

    ——消息体里就是服务器给我们的数据了,我们请求了图片,就获得了图片的二进制数据,请求了网页,就获取了网页的源代码,浏览器会执行代码,我们就看到了网页

    IP地址或者域名,就是主机或者服务器的地址,我们或者可以理解为python中的变量名,端口号我们一般都没有写,服务器会自动判断用哪个端口处理我们的请求。

    资源路径表明我们要请求的内容在服务器的哪个位置,服务器一般会根据我们的资源路径索引出我们想要的数据

    1.2 认识网页的语言w

    我们的网页其实是超文本,本质上是文本内容,但是用不同的标签,让它可以有无数不同的呈现,比如你写一句话,我给这句话粘上各种不同的修饰,加个框,上个色,放大一下等等

    所以,网页的内容,都是写在标签里的,而这种书写的语言,我们目前最常用的就是HTML超文本标记语言,它一般是这样构成的:

    <html>
        <head>
            写在这里的内容不会显示在浏览器窗口
            但是这里却包含了网页比较重要的元信息
        </head>
        <body>
            写在这里的内容会显示在浏览器窗口中
        </body>
    </html>
    

    一个大HTML开头结束,中间一个头部,一个身体,头部的内容看不到,但是会控制身体的呈现方式,身体的内容才会真正的让我们看到

    我们可以在body标签内放各种我们想让用户看到的内容放一个列表,一首诗,一段视频,一张图片,放这些内容,当然也是要加标签的,

    <html>
        <head>
            写在这里的内容不会显示在浏览器窗口
            但是这里却包含了网页比较重要的元信息
        </head>
        <body>
    
        <div>
            <p>
            这是一个段落。这是一个段落。这是一个段落。这是一个段落。
            这是一个段落。这是一个段落。这是一个段落。这是一个段落。
            </p>
        </div>
    
        <p>Overflow-x 是否对内容的左/右边缘进行裁剪。</p>
        <p>Overflow-y 是否对内容的上/下边缘进行裁剪。</p>
    
        </body>
    </html>
    

    以后我们见到的页面基本都是这个样子,架子的样子,至于其他要加多少内容,往这架子里加东西就ok了

    1.3 网页的构成

    网页由HTML语言书写,有头部控制的身体,那么具体哪些东西构成的呢?

    ——标签 标签承载数据,我们的所有数据是不是都放在标签下的?

    ——层叠样式表 CSS 层叠样式表控制显示,负责渲染页面(装饰页面)(头部)

    ——JavaScript(JS) JS控制页面上的交互行为 (没有JS写出来的网页只能看,不能进行任何操作)

    <html>
        <head>
            <style>
                p{
                    color: brown;
                    font-size: 32px;
                    text-align: center;
                }
                </style>
        </head>
        <body>
            <p>床前明月光</p>
            <p>疑是地上霜</p>
            <p>举头望明月</p>
            <p>低头想你家</p>
        </body>
    </html>
    

    上面这一小段HTML代码简单的带大家了体验一下头部和身体的关系,请大家写一下。

    ”这一段内容无用,去掉“
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            #aaaa{
                border: 1px dashed darkgrey;
                width: 240px;
                height: 120px;
                margin: 50px auto;
            }
            #aaaa >p>input{
                width: 234px;
                height: 36px;
                border: none;
                outline: none;
                border-bottom: 1px dashed green;
            }
           #aaaa input[type=submit] {
               border: none;
               margin-top:4px;
               color: white;
               background-color: rgb(136, 211, 145);
           }
        </style>
    </head>
    <body>
        <form id="aaaa"action="" method="POST">
            <p>
                <input type="tel" placeholder="手机号">
            </p>
            <p>
                <input type="password" placeholder="密码">
            </p>
            <div>
                <p>
                    <input type="radio" name="sex" checked>男
                    <input type="radio" name="sex">女
                </p> 
                <p>
                    <input type="checkbox">同意版网站协议
                </p>
            </div>
            <p>
                <input type="submit" value="登录">
                <input type="submit" value="关注Sahara Laterr">
                <input type="reset" value="重置">
            </p>
    </body>
    </html>
    

    作业:重复写出以上登录框,整理清楚头部与身体,先写出身体,而后逐个添加头部的功能,打开页面,体会变化

    展开全文
  • 上次我们教大家如何使用httpwatch来进行包,其实这不重要,重要的是如何使用获得的数据包,你能读懂数据包吗?好吧,我们今天就是用python来示范一下如何使用数据包。 先来设置两个url地址,第一个用于第一...

    上次我们教大家如何使用httpwatch来进行抓包,其实这不重要,重要的是如何使用获得的数据包,你能读懂数据包吗?好吧,我们今天就是用python来示范一下如何使用数据包。

    1. 先来设置两个url地址,第一个用于第一次访问,这样可以获得网站服务器发来的cookie,第二个网址是用于登陆的地址

    2. 引入两个模块,cookielib和urllib2

    3. 接着,我们安装一个cookie处理器,代码如下,这个代码很多人不太能读懂,其实你会用就可以了,他们就是这个固定的形式,顶多改改变量的名字。你复制下来以后自己用就可以了,用多了,你再去看代码的意义,你就都懂了。

    4. 然后我们先访问一下网站,获得一个cookie,你不用管这个cookie该怎么弄,前面设置的cookie处理器会自动处理。

    5. 接着,我们写一下postdata,也就是你要post的数据,因为我们打算登陆网站,所以postdata里肯定有用户名和密码,那么怎么知道该怎么写postdata呢?看你抓包得到的post数据。下面第一幅图是httpwatch抓包截图,点击postdata,看到post的数据,然后我们看第二幅图,就是python的写法。你自己感受一下。

    6. 写完postdata以后,我们 要将postdata转码一下,让服务器可以解读postdata数据

    7. 接着设置headers信息,headers也是抓包得到的。同样的方式,你去写header内的信息

    8. 然后我们通过request方法来登陆网站,并返回数据,返回的数据存储在request中

    9. 通过rulopen方法和read方法来读取数据,并打印出来。

    10. 我们看到输出的结果,这说明我们虽然正确的模拟了登陆网站需要的post信息,但是没有考虑到登陆网站是需要验证码的,后期我们会看到如何处理验证码,如果你拿这个教程去处理没有验证码的登陆问题,那么你现在已经成功了。

    展开全文
  • 使用爬虫工具抓去网页资源

    千次阅读 2018-12-21 16:00:21
    步骤: 1.下载爬虫软件(我用的... 2.使用自定义采集 3.手动输入-&gt;输入目标页面地址-&...4.跳转到指定页面后,单击要抓取的图片---&...点击采集数据 6.保存并开始采集   下载指定路径...
  • 如何去除网页噪声提取数据(01) —— 哪儿网 1. 需求介绍 今天的目标是爬取 “哪儿网” 上的数据信息,哪儿网上的数据是非常珍贵的,所以这个数据被保护的也很严格,不仅仅是原始数据获取较为困难,而且...
  • python如何爬取动态网页数据

    千次阅读 2018-06-16 12:43:52
      但大家也知道,现在的网页大多都是动态的了,即数据是通过js渲染加载的,静态网页那一套在这根本不讨好,所以,掌握爬取动态加载数据的方法就显得十分必要了。   下面以爬取中国电影网中国票房排行前500为例...
  • Python爬虫4.2 — ajax(动态网页数据抓取)用法教程

    千次阅读 多人点赞 2019-10-18 10:18:37
    Python爬虫4.2 — ajax[动态网页数据]用法教程综述AJAX 介绍什么是AJAX实例说明请求分析获取方式实例说明其他博文链接 综述 本系列文档用于对Python爬虫技术的学习进行简单的教程讲解,巩固自己技术知识的同时,万...
  • 使用node.js cheerio抓取网页数据

    千次阅读 2015-02-07 08:45:08
    想要自动从网页抓一些数据或者想把一坨从什么博客上拉来的数据转成一种有结构的数据? 居然没有现成的API可以取数据?!!! !@#$@#$… 没关系 网页抓取可以解决。 什么是网页抓取? 你可能会问。。。 网页抓取...
  • winfrom动态抓取网页数据

    千次阅读 2017-03-13 17:32:14
    说白了需要的目标数据抓不到,下面通过2中方法处理: 方法一:WebBrowser延迟的加载采集地址(线程等待)配合js来处理。 1.目标网址:http://www.2ya.tv/k/1 ,顺便说一下,这个站做的非常厉害,可
  • 网页表格(爬去数据转为excel) 我们在日常生活中,可能都需要将爬数据,保存到本地,或者将文本txt文件,复制粘贴到excel中,会出现 通过Python的xlwt模块来实现 import requests import re import xlwt # ...
  • R网页抓取数据

    千次阅读 2018-06-09 12:24:14
    R网页抓取数据web上有大量可用的数据。其中一些是以格式化的、可下载的data-sets的形式,易于访问。但大多数在线数据都是作为网络内容存在的,如博客、新闻故事和烹饪菜谱。使用格式化的文件,访问数据相当简单;只...
  • C# 爬虫 、 网页数据抓取 随记

    千次阅读 2014-08-21 16:25:31
    第一次写数据抓取,
  • 这其中最重要的环节就是模拟登录学校的教务系统,获取到教务系统的数据并解析,用自己的数据库存储,展示在自己设计的界面上。例如课程表我是仿照超级课程表的界面来设计的。废话不多说下面先看看效果。 抓取教务...
  • PHP爬虫抓取网页数据

    千次阅读 2020-07-15 21:59:52
    一个月之后,嗯~全世界...简单说下我使用PHP爬取web数据常用的三种方法,不仅是分享,也是自己的一次复习吧。 希望对你有所启发与帮助 :)。print_r(“源码在文末”); 1.PHP file_get_contents() file_get_content
  • Fiddler使用和数据抓

    千次阅读 2016-08-18 09:35:18
    一、Fiddler使用说明  1.、Fiddler2 是一个使用本地 127.0.0.1:... 二、.什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http包工具之一 。 它能够记录客户端和服务器之间的所有 HT
  • 最近看了一篇关于网页抓取数据整理成表格的文章,感觉超级好 有这方面需求的可以看看
  • r语言抓取网页数据by Hiren Patel 希伦·帕特尔(Hiren Patel) 使用R进行网页抓取的简介 (An introduction to web scraping using R) With the e-commerce boom, businesses have gone online. Customers, too, ...
  • C#抓取网页数据分析

    万次阅读 2010-11-15 11:29:00
    首先将网页内容整个抓取下来,数据放在byte[]中(网络上传输时形式是byte),进一步转化为String,以便于对其操作,实例如下:private static string GetPageData(string url){ if (url == null || url.Trim() == ...
  • 网页数据抓取--爬虫

    千次阅读 2016-09-24 17:29:50
    有时候靠人为获取数据这是一个非常不明智的。尤其是你需要的数据来自很多不同的地方。 网络爬虫是是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。它主要抓取形式有两种:1种是抓取网页链接,通过url...
  •  下载后安装,安装完成后打开,出现如下界面;2、开始对 PC 端 的charles进行配置,点击proxy(代理),找到代理设置对代理端口进行进行配置,端口号...如果你只想对pc端的数据交互进行抓取,那么到这一步就行...
  • self.url = r'' #待挖掘数据网页网址 self.regex = r'' #挖掘使用的正则表达式 self.savePath = r'D:' #挖掘出来的结果保存的路径 self.fileName = r'result' #保存结果的文件名字 def SaveResult(self): ...
  • delphi网页数据抓取

    万次阅读 2011-10-14 17:33:03
    简单: IdHttp:TIdHttp; Params:TStrings; Begin Params:=TStrinList.Create; IdHttp:=TIdHttp.Create(Nil); //提交网页的参数 Params.Add('参数1=XXX');
  • C# 爬虫,抓取网页数据

    千次阅读 2016-09-01 11:11:03
    抓取到的网页商品数据,存入Excel表格,效果如下: 使用的是 Jumony Core这个引擎,非常强大,近乎完美的HTML解析引擎,支持css3选择器,直接抓取网页文档分析,并根据HTTP头自动识别。 抓取博客园站点导航...
  • 仅仅使用beautifulsoup并不能到这个表格中的数据。 查找资料,发现可以使用PhantomJS来抓取这类网页数据。但PhantomJS主要用于Java,若要在python中使用,则要通过Selenium在python中调用P
  • Java:java爬虫获取动态网页数据

    万次阅读 热门讨论 2016-12-07 16:13:21
    前段时间一直在研究爬虫,抓取网络上的特定的数据,如果只是静态网页就是再加丹不过了,直接使用Jsoup :Document doc = Jsoup.connect(url).timeout(2000).get();获取到Document 然后就想干嘛就干嘛了,但是一旦...
  • 八爪鱼爬取网页数据案例+图解

    千次阅读 2020-06-05 15:43:43
    近半个月来进行了一个乏味且没有任何技术含量的工作,就是大数据前期的数据工作。今天就给大家简单例举一下八爪鱼试用版的使用,以便新人使用参考。 1.首先确认要爬取的网址,复制到下列输入框(这里说明一下,...
  • java简单实现抓取动态网页数据

    万次阅读 2018-04-19 11:16:40
    在这里我分享一段简单的获取js执行后的网页数据!1.先建立一个maven工程在这里我随便建了一个web工程!2.将chromedriver.exe 文件放在安装谷歌的目录:下载地址:...
  • cookie ajax动态网页数据的抓取

    千次阅读 2012-08-23 17:56:58
    昨天得到一个任务,是以ajax技术获得的动态网页数据。这个任务与之前任务的区别在于,之前的静态数据只需要get抓取一次;而动态网页则其静态部分在第一次请求的时候返回,但是其动态的部分则需要在第一次请求...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,348
精华内容 10,539
关键字:

网页数据抓去