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)

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值