xpath爬取我爱我家杭州地区租房网

本文介绍如何利用XPath爬取我爱我家网站上杭州地区的租房信息。首先分析房源列表页,找到信息所在模块及详情页地址。接着解析详情页获取所需字段,并通过添加固定部分构造完整URL。最后讨论了针对不同地区使用线程进行爬取的可能性,但由于不同城市网页结构差异,需要进一步处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

xpath爬取我爱我家杭州地区租房网

分析房源信息列表页

在这里插入图片描述
网页的请求属于get,然后找我们需要的信息所在的模块
在这里插入图片描述
可以看见我们需要的网页数据在doc模块中,找到这个模块,分析他的请求,在requests请求中模拟这个请求

import requests
这个包是后面的引用
from arearenthouselistpage_5i5j import get5i5jhtml_str
写成函数形式为了更好的使用多线程完成这个爬虫程序,并可以将不同地区区分开来
def rentwhere(threadName,location,area):
	这里是第一页的路径,因为可以看见第一页是没有加页面表示的
    ziru_request_url='https://'+area+'.5i5j.com/zufang/'+location+'/'
    模拟请求头部信息
    ziru_headers_not_page_change={
        'Cookie': '_Jo0OQK=394A86405E728B2E2C333E6CA8A18ACC0BB3A7A9FE20C59CA7E06E6E453EBF603D36AEB18A30FA137670A679327C2C727BFB98D739C1FF2EFE4CE4D9489BE35B0B79FC0DF34BBE505AF02631C467319B15B02631C467319B15B869297F6895F5D91GJ1Z1Jg==; PHPSESSID=h706jmshf4gl3oo07fodgfj7ur; yfx_c_g_u_id_10000001=_ck19071814495010631508206604565; yfx_mr_f_n_10000001=baidu%3A%3Amarket_type_cpc%3A%3A%3A%3Abaidu_ppc%3A%3A%25e7%25a7%259f%25e6%2588%25bf%3A%3A%3A%3A%25E5%2587%25BA%25E7%25A7%259F%25E5%258D%2595%25E9%2597%25B4%3A%3Awww.baidu.com%3A%3A93455795538%3A%3A%3A%3A%25E7%25A7%259F%25E6%2588%25BF-%25E9%2580%259A%25E7%2594%25A8%25E8%25AF%258D%3A%3A%25E6%2588%25BF%25E5%25B1%258B%25E5%2587%25BA%25E7%25A7%259F%3A%3A75%3A%3Apmf_from_adv%3A%3Ahz.5i5j.com%2Fzufang%2F; _ga=GA1.2.2016664089.1563432591; _gid=GA1.2.1340751855.1563432591; domain=hz; baidu_OCPC_pc=9b0365a45d1dd407fcb10009db737436e9719374b2a29e9da9edf86537231394a%3A2%3A%7Bi%3A0%3Bs%3A13%3A%22baidu_OCPC_pc%22%3Bi%3A1%3Bs%3A178%3A%22%22https%3A%5C%2F%5C%2Fhz.5i5j.com%5C%2F%3Fpmf_group%3Dbaidu%26pmf_medium%3Dppzq%26pmf_plan%3D%25E5%25B7%25A6%25E4%25BE%25A7%25E6%25A0%2587%25E9%25A2%2598%26pmf_unit%3D%25E6%25A0%2587%25E9%25A2%2598%26pmf_keyword%3D%25E6%25A0%2587%25E9%25A2%2598%26pmf_account%3D170%22%22%3B%7D; yfx_f_l_v_t_10000001=f_t_1563432589785__r_t_1563432589785__v_t_1563437789447__r_c_0; yfx_mr_n_10000001=baidu%3A%3Amarket_type_ppzq%3A%3A%3A%3Abaidu_ppc%3A%3A%25e6%2588%2591%25e7%2588%25b1%25e6%2588%2591%25e5%25ae%25b6%3A%3A%3A%3A%25E6%25A0%2587%25E9%25A2%2598%3A%3Asp0.baidu.com%3A%3A%3A%3A%3A%3A%25E5%25B7%25A6%25E4%25BE%25A7%25E6%25A0%2587%25E9%25A2%2598%3A%3A%25E6%25A0%2587%25E9%25A2%2598%3A%3A170%3A%3Apmf_from_adv%3A%3Ahz.5i5j.com%2F; yfx_key_10000001=%25e6%2588%2591%25e7%2588%25b1%25e6%2588%2591%25e5%25ae%25b6; isClose=yes; Hm_lvt_94ed3d23572054a86ed341d64b267ec6=1563432591,1563437790; Hm_lpvt_94ed3d23572054a86ed341d64b267ec6=1563437845',
        'Referer': 'https://hz.5i5j.com/?pmf_group=baidu&pmf_medium=ppzq&pmf_plan=%E5%B7%A6%E4%BE%A7%E6%A0%87%E9%A2%98&pmf_unit=%E6%A0%87%E9%A2%98&pmf_keyword=%E6%A0%87%E9%A2%98&pmf_account=170',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.14
要使用xpath爬取链家租房的房源数据,你可以使用Python中的相关库,如requests、bs4和xpath。首先,你需要发送HTTP请求获取网页的HTML内容,可以使用requests库来实现。然后,你可以使用BeautifulSoup库的解析器来解析HTML内容,并使用xpath表达式来提取所需的数据。 在代码中,你可以定义一个主函数,其中包含获取网页、解析HTML、提取数据和保存数据的步骤。你可以使用xpath表达式来选择和提取所需的信息,如房屋所在地区、小区名、户型、面积、朝向和价格等。你还可以使用pandas库将提取的数据保存到Excel文件中。 以下是一个简单的代码示例,用于使用xpath爬取链家租房的房源数据并保存到Excel文件中: ```python import requests from bs4 import BeautifulSoup import pandas as pd import lxml.etree as etree def get_html(url): response = requests.get(url) return response.text def parse_html(html): soup = BeautifulSoup(html, 'html.parser') return soup def extract_data(soup): data = \[\] listings = soup.select('div.content div.leftContent div.content__list--item') for listing in listings: area = listing.select_one('p.content__list--item--des a').text community = listing.select_one('p.content__list--item--des a:nth-of-type(2)').text layout = listing.select_one('p.content__list--item--des span:nth-of-type(1)').text size = listing.select_one('p.content__list--item--des span:nth-of-type(2)').text orientation = listing.select_one('p.content__list--item--des span:nth-of-type(3)').text price = listing.select_one('span.content__list--item-price em').text data.append(\[area, community, layout, size, orientation, price\]) return data def save_to_excel(data, filename): df = pd.DataFrame(data, columns=\['Area', 'Community', 'Layout', 'Size', 'Orientation', 'Price'\]) df.to_excel(filename, index=False) def main(num_pages, filename): base_url = 'https://bj.lianjia.com/zufang/pg{}' all_data = \[\] for page in range(1, num_pages+1): url = base_url.format(page) html = get_html(url) soup = parse_html(html) data = extract_data(soup) all_data.extend(data) save_to_excel(all_data, filename) if __name__ == '__main__': num_pages = int(input('请输入要爬取的页数:')) filename = 'lianjia_rent.xlsx' main(num_pages, filename) ``` 在这个示例中,我们定义了`get_html`函数来发送HTTP请求并获取网页的HTML内容。然后,我们使用BeautifulSoup库的解析器来解析HTML内容,并使用xpath选择器来提取所需的数据。最后,我们使用pandas库将提取的数据保存到Excel文件中。 请注意,这只是一个简单的示例,你可能需要根据具体的网页结构和需求进行适当的修改。另外,为了避免被网站反爬虫机制封禁,你可能需要添加一些反爬虫策略,如设置请求头、使用代理等。 #### 引用[.reference_title] - *1* [利用xpath爬取链家租房房源数据并利用pandas保存到Excel文件中](https://blog.youkuaiyun.com/renhongbin614/article/details/104540204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [第二章 爬取案例-链家租房数据获取 2021-09-16](https://blog.youkuaiyun.com/qq_21438267/article/details/120337045)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值