Python爬取商家联系电话以及各种数据的方法


Posted in Python onNovember 10, 2018

上次学会了爬取图片,这次就想着试试爬取商家的联系电话,当然,这里纯属个人技术学习,爬取过后及时删除,不得用于其它违法用途,一切后果自负。

首先我学习时用的是114黄页数据。

下面四个是用到的模块,前面2个需要安装一下,后面2个是python自带的。

import requests
from bs4 import BeautifulSoup
import csv
import time

然后,写个函数获取到页面种想要的数据,记得最后的return返回一下,因为下面的函数要到把数据写到csv里面。

def get_content(url,data=None):
 header = {
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
  'Accept-Encoding': 'gzip, deflate',
  'Accept-Language': 'zh-CN,zh;q=0.8',
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36',
 }
 r = requests.get(url, headers=header)
 soup = BeautifulSoup(r.content, 'html.parser')
 data = soup.body.find('div',{'id':'news_con'})
 ul = data.find('ul')
 lis = ul.find_all('li')
 pthons=[]

 for item in lis:
  rows=[]
  name= item.find('h4').string
  rows.append(name)
  tel = item.find_all("div")[2].string
  rows.append(tel)
  pthons.append(rows)
  time.sleep(1)
 return pthons

接着:把数据写到表格里面。我这里用到的是csv,方便阅览。

def write_data(data,name):
 file_name=name
 with open(file_name, "w", newline='') as csvfile:
  writer = csv.writer(csvfile)
  writer.writerow(["商铺名称", "联系电话"])
  writer.writerows(data)
  print('抓取完成')

最后就是执行这些函数:

if __name__ == '__main__':
 url = 'http://ty.114chn.com/CustomerInfo/Customers?cid=008004008&page=2'
 mydata = get_content(url)
 write_data(mydata,'phone.csv')

在这里我想到应该把url写成动态的,因为这里面有页数。让page写成循环自动+1,当然,可以在网页看到一共多少页。写个循环执行。就更完美了。

Python爬取商家联系电话以及各种数据的方法

以上这篇Python爬取商家联系电话以及各种数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
简化Python的Django框架代码的一些示例
Apr 20 Python
使用Python判断质数(素数)的简单方法讲解
May 05 Python
Python抽象和自定义类定义与用法示例
Aug 23 Python
解决PyCharm的Python.exe已经停止工作的问题
Nov 29 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
Django 开发环境配置过程详解
Jul 18 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
Jun 02 Python
Python过滤掉numpy.array中非nan数据实例
Jun 08 Python
解决python对齐错误的方法
Jul 16 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 Python
Python中的取模运算方法
Nov 10 #Python
在Python中获取两数相除的商和余数方法
Nov 10 #Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 #Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 #Python
pandas 数据归一化以及行删除例程的方法
Nov 10 #Python
python 重命名轴索引的方法
Nov 10 #Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 #Python
You might like
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
会议活动邀请函
2014/01/27 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
党建工作整改措施
2014/10/28 职场文书
作弊检讨书
2015/01/27 职场文书
家长会后的感想
2015/08/11 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书