Python爬取安居客经纪人信息

Python2.7.15
今天我们来爬取安居客经纪人的信息。这次我们不再使用正则,我们使用beautifulsoup。不了解的可以先看一下这个文档,便于理解。https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/

一、获取源码

for page in range(1,8):url ="https://beijing.anjuke.com/tycoon/p" + str(page)+"/"response = urllib2.urlopen(url)content = response.read()

老套路urllib2

二、使用bs4

首先看源码,找到经纪人信息对应的标签,然后使用beautifulsoup方法,这里的html.parser是对应的解析器

    soup = BeautifulSoup(content,'html.parser')a = soup.find_all('h3')b = soup.find_all(class_=re.compile("brokercard-sd-cont clearfix"))c = soup.find_all("p", attrs={"class": "jjr-desc"})d = soup.find_all("p", attrs={"class": "jjr-desc xq_tag"})e = soup.find_all(class_=re.compile("broker-tags clearfix"))

a,b,c,d,e分别对应经纪人姓名,评价,门店,熟悉,业务
每一项都是列表
将它们循环输出

    n = 0for jjr in a:o = jjr.get_text(strip=True).encode('utf-8')p = b[n].get_text(strip=True).encode('utf-8')q = c[2*n].get_text(strip=True).encode('utf-8')r = d[n].get_text(strip=True).encode('utf-8')s = e[n].get_text(strip=True).encode('utf-8')n+=1

这里要注意编码问题,使用beautifulsoup解析后的文档是Unicode编码,直接输出会乱码,而且这个编码模式也无法写入文档或数据库,所以后面要加上encode(‘utf-8’)来重新编码

三、写入数据库

        insert_agent = ("INSERT INTO AGENT(姓名,评价,门店,熟悉,业务)" "VALUES(%s,%s,%s,%s,%s)")data_agent = (o,p,q,r,s)cursor.execute(insert_agent, data_agent)

记得先建立数据库连接,和要写入的表

四、完整代码

# coding=utf-8
from bs4 import BeautifulSoup
import urllib2
import re
import MySQLdbconn=MySQLdb.connect(host="127.0.0.1",user="root",passwd="199855pz",db="pz",charset='utf8')
print '连接成功'
cursor = conn.cursor()
cursor.execute("DROP TABLE IF EXISTS AGENT")
sql = '''CREATE TABLE AGENT(姓名 char(4) ,评价 char(50) ,门店 char(50) ,熟悉 char(50) ,业务 char(50))'''
cursor.execute(sql)for page in range(1,8):url ="https://beijing.anjuke.com/tycoon/p" + str(page)+"/"response = urllib2.urlopen(url)content = response.read()soup = BeautifulSoup(content,'html.parser')a = soup.find_all('h3')b = soup.find_all(class_=re.compile("brokercard-sd-cont clearfix"))c = soup.find_all("p", attrs={"class": "jjr-desc"})d = soup.find_all("p", attrs={"class": "jjr-desc xq_tag"})e = soup.find_all(class_=re.compile("broker-tags clearfix"))n = 0for jjr in a:o = jjr.get_text(strip=True).encode('utf-8')p = b[n].get_text(strip=True).encode('utf-8')q = c[2*n].get_text(strip=True).encode('utf-8')r = d[n].get_text(strip=True).encode('utf-8')s = e[n].get_text(strip=True).encode('utf-8')n+=1insert_agent = ("INSERT INTO AGENT(姓名,评价,门店,熟悉,业务)" "VALUES(%s,%s,%s,%s,%s)")data_agent = (o,p,q,r,s)cursor.execute(insert_agent, data_agent)
conn.commit()

PS.安居客更新了,源码有一些变动,但爬取信息还是老方法。

Python爬取安居客经纪人信息相关推荐

  1. Python爬取安居客新房信息

    由于是刚开始学习Python爬虫,做个简单的爬虫,提供一个学习思路. 由于水平有限,正则表达式写的实在是抠脚,就直接上BeautifulSoup了. BeautifulSoup的学习参考http:// ...

  2. Python爬取安居客房产经纪人信息

    引言 Python开源网络爬虫项目启动之初,我们就把网络爬虫分成两类:即时爬虫和收割式网络爬虫.为了使用各种应用场景,该项目的整个网络爬虫产品线包含了四类产品,如下图所示: Python和相关依赖库的 ...

  3. python爬虫爬取安居客房源信息

    爬取安居客房源信息 Xpath插件的安装 爬取重庆花溪附近的房源信息(进入正题啦~) 梳理下逻辑 爬取数据的通用流程 代码 代码的问题 & 运行时可能出现的问题 结果 数据处理部分(写给我自己 ...

  4. 爬取安居客租房信息,主要是获取电话号码

    爬取安居客租房信息,主要是获取电话号码 想要得到个人房源的电话只能在app上获取,而且获取的是虚拟号码,没什么作用.所以我们这次获取的是经纪人房源的电话号码,随便打开一个网页,可以看到. 他的电话号码 ...

  5. 爬虫项目--爬取安居客二手房信息

    爬虫实战(爬取安居客二手房信息-成都天府新区) 环境:python3.6 pycharm bs4库 解析方式:bs4 需求:爬取二手房信息字段(titile,house_type,build_time ...

  6. 使用Python爬取安居客二手房房价数据

    作为一个Python新手,公司突然安排我爬取房价数据,真让人有点头大啊!幸好网上的大佬们经验丰富,给予了很多代码上的帮助.本文代码在网友pythoner111爬虫项目–爬取安居客二手房信息的基础上修改 ...

  7. bs4+phantomjs爬取安居客二手房信息

    bs4+phantomjs爬取安居客二手房信息 这是我的第一篇博客,希望通过养成写博客的习惯来督促自己学习. 开发环境以及需要安装的模块 - Python3.6 - requests pip inst ...

  8. python爬取安居客网站上北京二手房数据

    目标:爬取安居客网站上前10页北京二手房的数据,包括二手房源的名称.价格.几室几厅.大小.建造年份.联系人.地址.标签等. 网址为:https://beijing.anjuke.com/sale/ B ...

  9. python爬虫爬取房源_python爬虫爬取安居客房源信息

    Xpath插件的安装 链接:https://pan.baidu.com/s/1T3V11Ev8dPODa2fCRbeuCg 提取码:qvzf 将这个安装包解压缩 打开谷歌浏览器的扩展程序 ----&g ...

最新文章

  1. aspx跳转页面的符号_解决SpringBoot+MyBatis框架下页面跳转问题与代码优化处理。...
  2. 阿里二面:redis分布式锁过期了但业务还没有执行完,怎么办
  3. JPA模糊查询(表中的某些数据)
  4. 微信开发同步微信服务器图片到本地,逻辑处理。
  5. 【辨异】relation, relationship
  6. 老罗android开发视频教程学习完了
  7. 微软windows10易升_Win10 如何摆脱易升这个流氓软件,如何拒绝每半年一次的大更...
  8. 如何用管理员权限打开CMD(快捷键)
  9. 全国各省电信及网通DNS大全
  10. Cesium位置拾取
  11. javascript bool 强制类型转换
  12. C语言转义字符及注意点
  13. 上顿号符号_在电脑上打标点符号,顿号怎样打出来?
  14. 关于软件测试行业现状的一些思考
  15. 华为机试题 - 求一个数的质数解(java实现)
  16. 人工智能教程 - 1.1.1 什么是神经网络
  17. centos7-汉化vim帮助指令文档
  18. Math_Calculus_04_多变量微积分
  19. 从斐波那契数列谈谈代码的性能优化
  20. IT人内卷化,成长与进步

热门文章

  1. matlab 实现高阶动态电路,高阶电路动态特性的仿真分析
  2. 新版SAPI+微信SaaS平台源码V1.8.7.1版本
  3. 【正点原子FPGA连载】第四十四章MT9V034摄像头HDMI显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  4. 用户研究方法介绍――情绪板(Mood Board)
  5. 2K20安卓修改器服务器到期,nba2k20手机版修改器
  6. linux下 eps怎么打开方式,eps文件怎么用ps打开
  7. 无限互联iOS学习资料之UI高级(网络与多线程)视频教程
  8. VueCli 和 Vite
  9. 树莓派教程二-网络配置
  10. Android华为推送集成与测试