爬取赶集网

我就只爬取了一页,url规律还是很好找的 http://cq.ganji.com/zufang/pn1/ 数字pn的变化

import requests
import re
from lxml import html
import time
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
def title(resp):           #这里是获得标题的名字  因为数据采取后 会多一个 ‘’  所以下面有个删除操作  删除第一个元素 pat='.*?.*?titles=re.compile(pat,re.S).findall(resp)del titles[0]  return titles
def door_model(resp):      #这是获得户型   就多写了 正则和xpath#pat='
.*?(.*?)'#door_models=re.compile(pat,re.S).findall(resp)txt=html.etree.HTML(resp)door_models=txt.xpath('//dd[@class="dd-item size"]/span[1]/text()')return door_models def price(resp): #这里是获得价格 txt = html.etree.HTML(resp) #只是转为html格式,因为xpath只能识别html格式(这个是我自己方便这么叫的格式,其实我也不知道这个是什么格式)prices = txt.xpath('//dd[@class="dd-item info"]/div/span[1]/text()')return prices def main():url='http://cq.ganji.com/zufang/pn1/'resp=requests.get(url,headers=headers).textdoormodels = door_model(resp)#print(doormodels)prices =price(resp)#print(prices)titles=title(resp) for i in range(0,len(titles)): #这里其实也可以把下面也封装为一个函数t=titles[i]d=doormodels[i]p=prices[i]data={'标题':t,'户型':d,'房价(月/元)':p} print(data) if __name__=='__main__':main()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部