当前位置:   article > 正文

python爬虫 爬取链家二手房数据

python爬虫 爬取链家二手房数据

一、简介

本次爬虫用到的第三方库如下:

  1. import random
  2. import requests
  3. from lxml import etree
  4. import time

二、打开网页

打开链家官网,进入二手房页面,可以看到该城市房源总数以及房源列表数据。

三、所有源码

  1. import random
  2. import requests
  3. from lxml import etree
  4. import time
  5. class LianJia(object):
  6. def __init__(self):
  7. self.url = 'https://bj.lianjia.com/ershoufang/pg{}/'
  8. self.headers = {
  9. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36 Edg/102.0.1245.30'}
  10. # 获取响应
  11. def get_page(self, url):
  12. req = requests.get(url, headers=self.headers)
  13. html = req.text
  14. # 调用解析函数
  15. self.parse_page(html)
  16. # 解析数据 提取数据
  17. def parse_page(self, html):
  18. parse_html = etree.HTML(html)
  19. li_list = parse_html.xpath('//*[@id="content"]/div[1]/ul/li')
  20. # 传入字典
  21. house_dict = {}
  22. for li in li_list:
  23. # 传入字典
  24. house_dict['名称'] = li.xpath('.//div[@class="positionInfo"]/a[1]/text()')
  25. # # 总价
  26. # price=li.xpath().strip()
  27. house_dict['总价-万'] = li.xpath('//div[@id="content"]/div[1]/ul/li[6]/div[1]/div[6]/div[1]/span/text()')
  28. # # 单价
  29. house_dict['单价'] = li.xpath('//div[@id="content"]/div[1]/ul/li[6]/div/div/div[2]/span/text()')
  30. print(house_dict)
  31. # 保存数据
  32. def write_page(self):
  33. pass
  34. # 主函数
  35. def main(self):
  36. # 爬取页数
  37. for pg in range(1, 5):
  38. url = self.url.format(pg)
  39. self.get_page(url)
  40. # 休眠
  41. time.sleep(random.randint(0, 2))
  42. if __name__ == '__main__':
  43. start = time.time()
  44. spider = LianJia()
  45. spider.main()
  46. end = time.time()
  47. print('执行时间:%.2f' % (end - start))

爬取内容展示

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/659138
推荐阅读
相关标签
  

闽ICP备14008679号