Python爬虫(一)——开封市58同城租房信息
代码:
1 # coding=utf-8 2 import sys 3 import csv 4 import requests 5 from bs4 import BeautifulSoup 6 7 reload(sys) 8 sys.setdefaultencoding('utf-8') 9 # 请求头设置 10 11 def download(url): 12 db_data = requests.get(url) 13 soup = BeautifulSoup(db_data.text, 'lxml') 14 titles = soup.select( 15 'body > div.mainbox > div.main > div.content > div.listBox > ul > li > div.des > h2 > a:nth-of-type(1)') 16 houses = soup.select('body > div.mainbox > div.main > div.content > div.listBox > ul > li > div.des > p.room') 17 oneaddresss = soup.select( 18 'body > div.mainbox > div.main > div.content > div.listBox > ul > li > div.des > p.add > a:nth-of-type(1)') 19 twoaddresss = soup.select( 20 'body > div.mainbox > div.main > div.content > div.listBox > ul > li > div.des > p.add > a:nth-of-type(2)') 21 prices = soup.select( 22 'body > div.mainbox > div.main > div.content > div.listBox > ul > li > div.listliright > div.money > b') 23 for title, house, oneaddress, twoaddress, price in zip(titles, houses, oneaddresss, twoaddresss, prices): 24 data = [ 25 ( 26 str(title.string).replace(' ', '').replace('\n', ''), 27 house.get_text().split(' ')[0].replace(' ', '').replace("\n", ""), 28 house.get_text().split(' ')[-1].replace(' ', '').replace("\n", ""), 29 oneaddress.get_text().replace(' ', '').replace("\n", ""), 30 twoaddress.get_text().replace(' ', '').replace("\n", ""), 31 price.get_text().replace(' ', '').replace("\n", "") 32 ) 33 ] 34 35 csvfile = open('kf.csv', 'ab') 36 writer = csv.writer(csvfile) 37 print('write one house') 38 writer.writerows(data) 39 csvfile.close() 40 41 42 # 初始化csv文件 43 def info(): 44 csvinfo = open('kf.csv', 'ab') 45 begcsv = csv.writer(csvinfo) 46 begcsv.writerow(['title', 'house', 'area', 'address1', 'address2', 'price']) 47 csvinfo.close() 48 49 50 if __name__ == '__main__': 51 info() 52 download(url)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
初试连接阿里云IoT套件,教你一小时完成接入
1.创建设备。 点击“查看设备”,点击“前往管理”点击添加设备 从平台上获取相关的信息: ProductKey:a1BekCto7zj 主机,端口:a1BekCto7zj.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883 DeviceName:Norra_Device_000001 DeviceSecret:OQzK9z8XoWrnH9LeeO4kIMFHk1WEu5ov clientID:自己随意定义为12345 timestamp:自己随意定义为10,给上发的消息打上标识 参考Ref[3],获取相关信息: 规则: mqttClientId:12345+"|securemode=3,signmethod=hmacsha1,timestamp=10|" 例子: "12345|securemode=3,signmethod=hmacsha1,timestamp=10|” 规则: mqttUsername: deviceName+"&"+productKey 例子: "Norra_Device_000001&a1BekCto7zj" ...
-
下一篇
SpringBoot-04:SpringBoot在idea中的俩种创建方式
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 创建SpringBoot工程有很多种方式,我只讲俩种最为常见的 一,依托springboot官网提供的模板。(好处:简单,最新版本) 二,从一个Maven项目中拓展成springboot。(好处:可以控制版本,离线创建) 开始案例 一,通过官网骨架 1.开始创建 2.Next 3.Next 4.Next 5.finish 项目骨架如下 二,通过maven 在第一次通过官网创建过后,我们的maven库里已经有了一个版本的springboot,没有必要每次都下最新版本的,所以,我们可以通过maven仓库创建离线版本 1.正常的maven webapp项目的创建 2.在pom文件中将springboot的节点粘过来 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XM...
相关文章
文章评论
共有0条评论来说两句吧...