如何用python抓取电话

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python抓取电话相关的知识,希望对你有一定的参考价值。

介绍

前几天做了个抓手机号的爬虫,这两天没啥事就学了学java swing,然后想着给蛇画俩腿,额 是给那个小程序做个界面。

大概组件怎么用,布局怎么用,照着书上学了个大概,就迫不急待的动手了,今天终于做成了。记录一下过程,以后要是忘记,可以回来看看。

成品图:

从python开始

那么就从python爬虫开始吧。毕竟python一共也没学多长时间,记录一下,以后忘了还能来看看。

我安的2.7版本python,安装很简单一路下一步就安好了,环境变量配置留个备份。

然后下了个社区版的PyCharm,就可以正式开始了。

这就写好了,pages决定抓这个网站几页的手机号。

[python] view plain copy

    # coding: UTF-8  

    import re  

    import requests  

    def write(page):  

    r = requests.get("hm/more.php?page="+str(page))  

    result = re.findall('target=_blank>(.*?)</A>',r.content)  

    if(len(result)>0):  

    tempfile = open("mobile.txt",'a')  

    for i in result:  

    print (i + ";")  

    tempfile.write(i + ";")  

    tempfile.write("\\n")  

    tempfile.close()  

    pages=10  

    for i in range(0,pages+1):  

    write(i)  

    requests是需要安装的,打开cmd,命令:pip install requests,就ok了,要是pip用不了那就是python环境变量没搭好。

    这几行代码没啥好说的,requests用法网上就有,正则挺麻烦的,好在原来看过个视频讲过这个贪心算法(.*?)挺好使的。暂且先用着把,等我以后成长到适当水平在来研究它,现在需要学的东西多着呢,就不跟它耗着了。

    这个网站每页100条,抓了10页的数据:

    嗯 这个小程序就写好了,下篇写java界面吧。我总怕看太长的文章,所以就这样结束把。

参考技术A 后续呢?怎么效果怎么的也不晒晒

如何用Python爬虫抓取网页内容?

比如新浪,QQ等

爬虫流程
其实把网络爬虫抽象开来看,它无外乎包含如下几个步骤
模拟请求网页。模拟浏览器,打开目标网站。
获取数据。打开网站之后,就可以自动化的获取我们所需要的网站数据。
保存数据。拿到数据之后,需要持久化到本地文件或者数据库等存储设备中。
那么我们该如何使用 Python 来编写自己的爬虫程序呢,在这里我要重点介绍一个 Python 库:Requests。
Requests 使用
Requests 库是 Python 中发起 HTTP 请求的库,使用非常方便简单。
模拟发送 HTTP 请求
发送 GET 请求
当我们用浏览器打开豆瓣首页时,其实发送的最原始的请求就是 GET 请求
import requests
res = requests.get('http://www.douban.com')
print(res)
print(type(res))
>>>
<Response [200]>
<class 'requests.models.Response'>
参考技术A

首先,你要安装requests和BeautifulSoup4,然后执行如下代码.

import requests
from bs4 import BeautifulSoup

iurl = 'http://news.sina.com.cn/c/nd/2017-08-03/doc-ifyitapp0128744.shtml'

res = requests.get(iurl)

res.encoding = 'utf-8'

#print(len(res.text))

soup = BeautifulSoup(res.text,'html.parser')

#标题
H1 = soup.select('#artibodyTitle')[0].text

#来源
time_source = soup.select('.time-source')[0].text


#来源
origin = soup.select('#artibody p')[0].text.strip()

#原标题
oriTitle = soup.select('#artibody p')[1].text.strip()

#内容
raw_content = soup.select('#artibody p')[2:19]
content = []
for paragraph in raw_content:
    content.append(paragraph.text.strip())
'@'.join(content)    
#责任编辑
ae = soup.select('.article-editor')[0].text

这样就可以了

本回答被提问者采纳

以上是关于如何用python抓取电话的主要内容,如果未能解决你的问题,请参考以下文章

如何用python实现爬虫抓取网页时自动翻页

如何用python抓取百度地图数据

如何用Python爬取数据?

如何用Java抓取网页的具体内容

如何利用python抓取美股数据

如何用python 爬虫在社交媒体上抓取评论