python爬虫代码房-小白学习python爬虫,分享一下代码,伪链家全站。
[Asm] 纯文本查看 复制代码import requests
from lxml import etree
import pandas as pd
from requests.exceptions import ConnectionError
from threading import Thread
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
}
#get链接
def get_url(url):
try:
r = requests.get(url,headers=headers)
r.encoding = 'utf8'
html = etree.HTML(r.text)
if r.status_code == 200:
return html
except ConnectionError as e:
print('采集错误')+e
def xpath_html(html):
#获取需要的数据
type = []
big = []
direction = []
finish = []
follow = []
money = []
name = html.xpath('.//a[@class="title"]//text()')
district = html.xpath('//div[@class="houseInfo"]/a/text()')
sum = html.xpath('//div[@class="houseInfo"]/text()')
sites = html.xpath('//div[@class="positionInfo"]/text()')
site = html.xpath('//div[@class="positionInfo"]/a/text()')
moneys = html.xpath('//div[@class="totalPrice"]//text()')
unitPrice = html.xpath('//div[@class="priceInfo"]//div[2]//span//text()')
followInfo = html.xpath('//div[@class="followInfo"]//text()')
try:
crumbs = html.xpath('.//div[@class="crumbs fl"]//h1//a//text()')[0]
except:
crumbs='null'
for i in sum:
#获取的是一个以a|b|c|d这种格式的一个总和数据
#用split来分割,分别获取。
try:
type.append(i.split(' | ')[1])
big.append(i.split(' | ')[2])
direction.append(i.split(' | ')[3])
finish.append(i.split(' | ')[4])
except:
type.append('null')
big.append('null')
direction.append('null')
finish.append('null')
for a in sites:
follow.append(a.replace(' - ', ''))
for b in range(0, (len(moneys)), 2):
money.append(moneys[b] + moneys[b + 1])
try:
tp=pd.DataFrame({
'name':name,
'district':district,
'type':type,
'big':big,
'direction':direction,
'finish':finish,
'follow':follow,
'money':money,
'site':site,
'unitPrice':unitPrice,
'followInfo':followInfo
})
except:
tp='null'
#这里加个报错是因为,有缺失值,暂时没有找到解决方法,但是不想让他停止就暂时这样解决
try:
tp.to_csv('D://爬虫爬的玩意//%s.csv'%crumbs,mode='a',encoding='utf8',index=False,header=None)
except:
print('保存失败')
def main(html_l,start_url,end_url):
#获取每个城市的链接
qgg = html_l.xpath('//div[@class="city_province"]/ul//li/a//@href')
try:
for index in qgg:
for i in range(start_url,end_url):
#拼接上翻页的后缀,实现每个城市的翻页
url=index+str('ershoufang/pg{}/'.format(i))
print('第%s页'%i)
data = get_url(url)
xpath_html(html=data)
except ConnectionError as e:
print('失败')
if __name__ == '__main__':
#选择城市的链接
url_l='https://www.lianjia.com/city/'
dete=get_url(url=url_l)
thad=[]
t1 = Thread(target=main,args=(dete,1,20))
t2 = Thread(target=main,args=(dete,20,40))
t3 = Thread(target=main,args=(dete,40,60))
t4 = Thread(target=main,args=(dete,60,80))
t5 = Thread(target=main,args=(dete,80,101))
thad +=[t1,t2,t3,t4,t5]
for i in thad:
i.start()
for i in thad:
i.join()
python爬虫代码房-小白学习python爬虫,分享一下代码,伪链家全站。相关推荐
- python多久能上手_小白学习Python,怎样能够快速入门上手
原标题:小白学习Python,怎样能够快速入门上手 时至今日,Python已经成为最受欢迎的编程语言之一,清晰易读,适用广泛.在TIOBE 排行榜中位居第四,成为名副其实的人工智能第一语言. 那么零基 ...
- 小白学python买什么书-终于明白小白学习python怎么学
Python作为一门新型的编程语言(一般常用作脚本语言)很受欢迎,毕竟相对其他的编程语言(Java ,C#等)来说比较容易入手.那么,在刚开始学习Python时有哪些疑难点需要掌握呢?以下是小编为你整 ...
- python语言自学-零基础小白学习Python编程语言的正确姿势(纯干货)
原标题:零基础小白学习Python编程语言的正确姿势(纯干货) 敢问有哪种编程语言集简洁.优雅.简单.全能于一身?Python绝对算的上是一个.举个例子,比如完成同一个任务,C语言需要写1000行代码 ...
- 1000行python代码_GitHub - kill1000/LearnPython: 以撸代码的形式学习Python
LearnPython 以撸代码的形式学习Python, 具体说明在知乎专栏-撸代码,学知识 ===================================================== ...
- python alter_GitHub - sealter/LearnPython: 以撸代码的形式学习Python
LearnPython 以撸代码的形式学习Python, 具体说明在知乎专栏-撸代码,学知识 ===================================================== ...
- python打招呼的代码_GitHub - worry45678/LearnPython: 以撸代码的形式学习Python
LearnPython 以撸代码的形式学习Python, 具体说明在知乎专栏-撸代码,学知识 ===================================================== ...
- python中小学生编程学习-推荐几个适合小白学习Python的免费网站
9gd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 想要学好python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一 ...
- python自学网站免费-推荐几个适合小白学习Python的免费网站
9gd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 想要学好python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一 ...
- python入门指南推文_GitHub - Hiufan/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...
PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...
最新文章
- date类型_06076.1.0如何将ORC格式且使用了DATE类型的Hive表转为Parquet表
- Linux Server - NAT
- UA MATH636 信息论7 高斯信道简介
- queue:queue清空的方法?
- (转)电脑程序员才能看懂的笑话
- 三星i9018root方法
- Redis实现之整数集合
- CompletableFuture详解~CompletionStage
- 后疫情时代,银行从数字化转型到智能化“迁徙”
- 计算android view的FPS,使用Android SurfaceView的低FPS
- 详解:Sqoop的介绍
- How To Use Google Logging Library (glog)
- wordpress rest api 登录_Python构建RESTful网络服务[Django篇:生成API文档]
- mysql插入blob报错_java如何向mysql写入blob数据?
- GitHub 40000星!收下这份宇宙最强「程序员装备指南」
- linux怎么查看系统可用串口,linux串口驱动详解 如何查看linux下串口是否可用?串口名称等?...
- HDU P4699 Editor
- Android 蓝牙4.0 BLE 获取链接设备Rssi值
- Android查看手机sqlite数据库(可视化)
- 素数模同余式次数与其解数的关系
热门文章
- 野比的示波器案例(Winfrom用户控件)
- RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置
- 在Sharepoint 2007 整合Discuz Nt论坛
- Entity Framework 4.1 DbContext使用记之二——如何玩转本地实体? DbSet.Local属性的使用与实现...
- [Scala]集合中List元素转Tuple元素的函数迭代写法
- 利用存储过程完成定时备份数据
- python PIL/Pillow图像扩展、复制、粘贴处理
- 打印文件测试的测试点
- 我的心底装着宽恕和包容世界很美
- 网站开发常用jQuery插件总结(15)上传插件blueimp