[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爬虫,分享一下代码,伪链家全站。相关推荐

  1. python多久能上手_小白学习Python,怎样能够快速入门上手

    原标题:小白学习Python,怎样能够快速入门上手 时至今日,Python已经成为最受欢迎的编程语言之一,清晰易读,适用广泛.在TIOBE 排行榜中位居第四,成为名副其实的人工智能第一语言. 那么零基 ...

  2. 小白学python买什么书-终于明白小白学习python怎么学

    Python作为一门新型的编程语言(一般常用作脚本语言)很受欢迎,毕竟相对其他的编程语言(Java ,C#等)来说比较容易入手.那么,在刚开始学习Python时有哪些疑难点需要掌握呢?以下是小编为你整 ...

  3. python语言自学-零基础小白学习Python编程语言的正确姿势(纯干货)

    原标题:零基础小白学习Python编程语言的正确姿势(纯干货) 敢问有哪种编程语言集简洁.优雅.简单.全能于一身?Python绝对算的上是一个.举个例子,比如完成同一个任务,C语言需要写1000行代码 ...

  4. 1000行python代码_GitHub - kill1000/LearnPython: 以撸代码的形式学习Python

    LearnPython 以撸代码的形式学习Python, 具体说明在知乎专栏-撸代码,学知识 ===================================================== ...

  5. python alter_GitHub - sealter/LearnPython: 以撸代码的形式学习Python

    LearnPython 以撸代码的形式学习Python, 具体说明在知乎专栏-撸代码,学知识 ===================================================== ...

  6. python打招呼的代码_GitHub - worry45678/LearnPython: 以撸代码的形式学习Python

    LearnPython 以撸代码的形式学习Python, 具体说明在知乎专栏-撸代码,学知识 ===================================================== ...

  7. python中小学生编程学习-推荐几个适合小白学习Python的免费网站

    9gd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 想要学好python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一 ...

  8. python自学网站免费-推荐几个适合小白学习Python的免费网站

    9gd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台 想要学好python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一 ...

  9. python入门指南推文_GitHub - Hiufan/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

最新文章

  1. date类型_06076.1.0如何将ORC格式且使用了DATE类型的Hive表转为Parquet表
  2. Linux Server - NAT
  3. UA MATH636 信息论7 高斯信道简介
  4. queue:queue清空的方法?
  5. (转)电脑程序员才能看懂的笑话
  6. 三星i9018root方法
  7. Redis实现之整数集合
  8. CompletableFuture详解~CompletionStage
  9. 后疫情时代,银行从数字化转型到智能化“迁徙”
  10. 计算android view的FPS,使用Android SurfaceView的低FPS
  11. 详解:Sqoop的介绍
  12. How To Use Google Logging Library (glog)
  13. wordpress rest api 登录_Python构建RESTful网络服务[Django篇:生成API文档]
  14. mysql插入blob报错_java如何向mysql写入blob数据?
  15. GitHub 40000星!收下这份宇宙最强「程序员装备指南」
  16. linux怎么查看系统可用串口,linux串口驱动详解 如何查看linux下串口是否可用?串口名称等?...
  17. HDU P4699 Editor
  18. Android 蓝牙4.0 BLE 获取链接设备Rssi值
  19. Android查看手机sqlite数据库(可视化)
  20. 素数模同余式次数与其解数的关系

热门文章

  1. 野比的示波器案例(Winfrom用户控件)
  2. RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置
  3. 在Sharepoint 2007 整合Discuz Nt论坛
  4. Entity Framework 4.1 DbContext使用记之二——如何玩转本地实体? DbSet.Local属性的使用与实现...
  5. [Scala]集合中List元素转Tuple元素的函数迭代写法
  6. 利用存储过程完成定时备份数据
  7. python PIL/Pillow图像扩展、复制、粘贴处理
  8. 打印文件测试的测试点
  9. 我的心底装着宽恕和包容世界很美
  10. 网站开发常用jQuery插件总结(15)上传插件blueimp