链家二手房信息爬取(内附完整代码) |
您所在的位置:网站首页 › pandas爬虫代码 › 链家二手房信息爬取(内附完整代码) |
目录
1.简介2. 爬虫思路2.1 网页分析2.2 详情页分析2.3 不同页码的爬取2.4 解决链家只显示100页数据2.5 简单的反爬与进度条显示
3. 总结
1.简介
最近帮同学爬取了链家在售二手房的信息,这是本人学习爬虫以来爬取数据最多的一次,就想着写个博客记录一下。 本次爬虫是利用python+jupyter notebook实现的,用到的第三方库如下: import pandas as pd # 数据存储 import requests # 网页内容获取 import re # 解析数据 from lxml import etree # 解析数据 import random import time # 反反爬 from fastprogress import master_bar,progress_bar # 进度条显示 2. 爬虫思路 2.1 网页分析 本次爬取链家网站中温州二手房的信息https://wz.lianjia.com/ershoufang/: 通过F12(或单击右键选择检查)打开浏览器自带的抓包工具,然后根据下图中的顺序点击鼠标,然后就得到了网页源码中含有的第一套房产的信息: 通过对上图进行分析,可以通过正则表达式来获取到每个二手房详情页的url,先来测试一下,看一看获取到的源码和上面看到的是否一致: def ua(): """随机获取一个浏览器用户信息""" user_agents = [ 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11', 'Opera/9.25 (Windows NT 5.1; U; en)', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)', 'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12', 'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9', 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7', 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0', ] agent = random.choice(user_agents) return { 'User-Agent': agent } def get(url): """ 获取网页源码 url: 目标网页的地址 return:网页源码 """ res = requests.get(url=url, headers = ua()) return res.text def get_url(res_text): """ 获取源码中每个二手房详情页的url res_text:网页源码 return:列表形式的30个二手房详情页的url """ re_f = ' |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |