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 相关文章推荐
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
Apr 26 Python
不要用强制方法杀掉python线程
Feb 26 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
python队列Queue的详解
May 10 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
Python PyCharm如何进行断点调试
Jul 05 Python
python 动态调用函数实例解析
Oct 21 Python
如何基于Python实现数字类型转换
Feb 07 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
利用Python将图片中扭曲矩形的复原
Sep 07 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
请php正则走开
2008/03/15 PHP
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
微信小程序 简单教程实例详解
2017/01/13 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
让python在hadoop上跑起来
2016/01/27 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
python实现拼图小游戏
2020/02/22 Python
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
资产经营总监岗位职责范文
2013/12/01 职场文书
个人投资计划书
2014/05/01 职场文书
学校节能减排倡议书
2014/05/16 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python