您的位置: 首页 > 新闻资讯 > > 正文

Python爬取网页内容

发布时间:2021年03月24日 来源:互联网

    现在Python无疑是最受欢迎的计算机语言,它被形容为“优雅”、“明确”、“简单”。那么,我们是不是可以用Python来爬取网络数据呢?当然是可以的,下面我们就以简书为例来演示一下Python爬取网络数据的代码。


微信截图_20210319165845.png

    import re


    import urllib


    def getHtml(url):


    page = urllib.urlopen(url)


    html = page.read()


    return html


    html = getHtml("http://www.jianshu.com/")


    reg = '<a target="_blank" href="(.*?)">(.*?)</a>[\n][\s]*'


    reg += '<p>[\n](.*)[\n][\s]*'


    reg += '</p>[\n][\s]*<div>[\n][\s]*'


    reg += '<a target="_blank" href="/c/.*?">(.*?)</a>[\n][\s]*'


    reg += '<a target="_blank" href="/p/.*?">[\n][\s]*'


    reg += '<i class="iconfont ic-list-read"></i> (.*)[\n]'


    reg += '</a>[\s]*<a target="_blank" href="/p/.*?">[\n][\s]*'


    reg += '<i class="iconfont ic-list-comments"></i> (.*)[\n]'


    reg += '</a>[\s]*<span><i class="iconfont ic-list-like"></i> (.*)</span>[\n][\s]*'


    reg += '<span><i class="iconfont ic-list-money"></i> (.*)</span>'


    #当正则表达式过长时,我们选取这种方式将其分割


    page = re.compile(reg)


    artlist = re.findall(page,html)


    for arts in artlist: #arts中包含了文件名,链接部分,阅读量等等


    for art in arts:


    if art.startswith("/p/"): #获取链接


    print "http://www.jianshu.com" + art


    else:


    print art


    这次正则表达式的内容有:


    1) \s(小写s)匹配任意的空白符,当有多个空白时,用[\s]*


    2) ? 涉及到贪婪模式,我们把.*称为贪婪匹配,把.*?称为非贪婪匹配(懒惰匹配)


    贪婪匹配是匹配尽可能多的字符,比如正则表达式为a.*b,用它来匹配字符串abbab,结果就是字符串abbab。


    非贪婪匹配是匹配尽可能少的字符,比如表达式为a.*?b,用它匹配字符串abbab,结果是“abb”和“ab”。


    所以在上面例子中,当有数字字符串(如“1111”)时,就不要用非贪婪匹配了。


    注意,以上代码虽然能顺利地爬取网络数据,但是由于需要大量登录,所以对于账号的的需求是很大的。而且,在自动登陆的同时,我们的IP也会变得很容易被封。


    所以,在准备用Python爬取网络数据之前,还应该准备好大量的登录账户和IP。


    账户可以在某宝上很容易买到,IP地址我更推荐使用IP代理,现在的HTTP代理价格已经远低于web服务器费用,完全是可以接受的。


    万变软件的IP代理服务一直广受好评,是值得一试的。


相关文章内容简介

1 免费代理IP能用于爬虫吗

    免费代理IP能用于爬虫吗?免费代理IP就是不需要花钱,在网络上可以直接提取,然后用来替换IP。并不是所有项目都能用免费代理IP的,例如爬虫就不可以。    免费代理IP的来源比较杂,很多没有用,使用时间短,匿名程度也参差不齐,其中有一些是高度匿名的,但数量有限,也很难挑选。而爬虫工作需要的IP,要求比较高,因为爬虫IP一旦质量不高就会被对方网站发现,被禁止抓取数据,无法完成工作。所以,免费代理IP是不适合爬虫的。但如果免费代理IP的匿名程度够的话,使用效率低,也是符合使用需求的。    爬虫大家都知道,是采集数据的方式。通过采集来的数据分析,可以获取有价值的信息。而代理IP是换IP最方便的工具,爬虫工作是要用代理IP的。    爬虫对被爬的网站来说是毫无利益的,反而会影响到服务器的工作,所以现在都设有反爬程序,IP限制是最基本的。爬虫工作的时候,如果速度快,用同一个IP会有访问的问题,这时网络就会有验证或者直接封锁IP,给爬虫工作带来了很大的困难。 ... [阅读全文]

2 发帖用代理IP有什么好处?

    发帖用代理IP有什么好处?发帖是网络营销的主要途径,在发帖的时候,很多时候都要用到代理IP,这并不奇怪,代理IP给网络营销人员带来了很大的便利。那么,发帖用代理IP有什么好处?    贴吧大家都不陌生,很多人在贴吧交流,一般同一个IP只能发布有限的帖子,评论也是有限制的。如果想大量发帖,就需要用代理IP来解决了。有很多热帖有的是真实评论,有的可能需要代理IP来帮忙,用代理IP去访问网站,用户不会被网站监视限制,或者被封锁了。    随着网络的发展,网络营销是很多公司必须要做的,其中网络影响最重要的途径就是发帖。很多发帖的工作人员都在使用代理IP,但还有很多人并不了解。那么,营销发帖一定要用代理IP吗?    例如贴吧、微博等平台,这些平台发帖可以与其他网友进行交流,起到宣传的作用。但一个IP发帖的数量是有限的,如果想大量发帖,就需要代理IP的帮助。更换IP后,就可以伪装成一个全新的用户,自然不会被平台限制。还有网络营销最常见的问答方式,也需要更换IP后进行自问... [阅读全文]

推荐阅读

  1. 06

    2020-01

    python使用ip代理抓取网页

    在抓取一个网站的信息时,如果我们进行频繁的访问,就很有可能被网站检测到而被屏蔽,解决这个问题的方法就是使用ip代理 。在我们接入因特网进行上网时,我们的电脑都会被分配一个全球

  2. 15

    2020-01

    怎样获取高匿代理IP网络资源?

    互联网的迅猛发展,复杂的网络环境面前,要保护网络安全是选择高匿名 代理IP 网络资源分不开的。现在的问题是,怎样高匿名代理IP网络资源获取?

  3. 17

    2020-04

    如何选择优秀代理IP平台?

    随着互联网的发达,代理IP行业也越加火爆,越来越多的人将创业的目光放到了代理IP行业。而随着代理IP平台的剧增,用户可以选择的代理IP也越来越多,这难免会让用户感到不知所措,并且由

  4. 27

    2020-03

    IP代理解决反爬虫机制

    互联网的爬虫与反爬虫,一直以来都是两股不断在进行争斗的力量。因为站点也要对自身服务平台的数据信息及其服务器进行安全防范措施,不能够任由爬虫采集信息。

  5. 30

    2020-03

    使用代理IP后,访问速度会提升吗?

    很多用户用代理IP前会有这个疑问,那就是用了代理IP后的访问速度。还有很多人认为用了代理IP后,访问速度一定会提升。那么,代理IP换IP后访问速度怎么样呢?

  6. 09

    2020-01

    shell为什么无法代替python?

    之前线上服务器分发配置都是用shell和expect脚本分发,脚本写了很长,上周换了ansible,现在自己用python写一个,就30行代码就可以实现需求,之前的shell写了快200行了,蛋疼,代码如下:

因为专业! 所以简单! 产品至上,价格实惠 是我们服务追求的宗旨

免费试用