这篇文章给大家聊聊关于二手电子商品网站源码分享,以及二手电子产品平台对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
使用Python抓取“链家上海二手房”网页信息,在不考虑迸发多线程的前提下,加入单个网页停留0.2s反爬,总计耗时58s√完成所有信息格式化爬取【在BaiduAIStudio完成demo测试】
0思路分析
网页结构分析
1.1单个页面解析如下,单个房源字段=[&34;,&34;,&34;,&34;,&34;,&34;,&34;,&34;]
1.2url地址及总页数
2.Demo设计&验证【以第1页为例】
2.1解析页面源代码
在Chrome浏览器开发者模式下,可以知道原始链接地址(https://sh.lianjia.com/ershoufang/pg1/),其页面代码已经足够反馈需要的页面信息
2.2在BaiduAIStudio里验证demo
2.2.1导入需要的库文件
importpandasaspd
importnumpyasnp
importlxml
importrequests
fromlxmlimportetree
frombs4importBeautifulSoupasBS
importre
importtime
2.2.2解析HTML代码
2.2.3解析xpath【选择xpath而非beautifulsoup.find_all原因:易于结构化和验证】
房源标题xpath
/html/body/div[4]/div[1]/ul/li/div[1]/div[1]/a/text()
/html/body/div[4]/div[1]/ul/li[1]/div[1]/div[1]/a/text()
/html/body/div[4]/div[1]/ul/li[2]/div[1]/div[1]/a/text()
房源链接xpath
/html/body/div[4]/div[1]/ul/li/div[1]/div[1]/a/@href
/html/body/div[4]/div[1]/ul/li[]/div[1]/div[2]/div/a[1]/text()
/html/body/div[4]/div[1]/ul/li[1]/div[1]/div[2]/div/a[1]/text()
/html/body/div[4]/div[1]/ul/li[2]/div[1]/div[2]/div/a[1]/text()
板块xpath
/html/body/div[4]/div[1]/ul/li/div[1]/div[2]/div/a[2]/text()
/html/body/div[4]/div[1]/ul/li[]/div[1]/div[3]/div/text()
/html/body/div[4]/div[1]/ul/li[1]/div[1]/div[3]/div/text()
/html/body/div[4]/div[1]/ul/li[2]/div[1]/div[3]/div/text()
房源总价xpath
/html/body/div[4]/div[1]/ul/li/div[1]/div[6]/div[1]/span/text()
/html/body/div[4]/div[1]/ul/li[]/div[1]/div[6]/div[2]/span/text()
/html/body/div[4]/div[1]/ul/li[1]/div[1]/div[6]/div[2]/span/text()
/html/body/div[4]/div[1]/ul/li[2]/div[1]/div[6]/div[2]/span/text()
关注度xpath
/html/body/div[4]/div[1]/ul/li/div[1]/div[4]/text()
/html/body/div[4]/div[1]/ul/li[定义抓取每页信息的函数
34;房源标题&34;房源链接&34;小区&34;板块&34;房源总价&34;房源单价&34;具体信息&34;关注度&34;https://sh.lianjia.com/ershoufang/pg{page}/&34;User-Agent&34;Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/90.0.4430.93Safari/537.36&34;房源标题&34;房源链接&34;小区&34;板块&34;房源总价&34;房源单价&34;具体信息&34;关注度&34;房源标题&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[1]/a/text()&34;房源链接&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[1]/a/@href&34;小区&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[2]/div/a[1]/text()&34;板块&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[2]/div/a[2]/text()&34;房源总价&34;万&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[6]/div[1]/span/text()&34;房源单价&34;\\d+&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[6]/div[2]/span/text()&34;具体信息&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[3]/div/text()&34;关注度&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[4]/text()&34;第{page}页解析完成&暂停0.2s反爬
4运行
使用以下代码完成爬取信息,并最终导出结果,共有3000行,8列:
3000行,符合“每页30行”x“100页”=30008列,符合选取的8个字段=[&34;,&34;,&34;,&34;,&34;,&34;,&34;,&34;]
附录
将BaiduAIStudio的ipynbnotebook代码,重新封装为py文件,可以用于在本地运行【下面代码可以直接复制粘贴】
定义抓取每页信息的函数
34;房源标题&34;房源链接&34;小区&34;板块&34;房源总价&34;房源单价&34;具体信息&34;关注度&34;https://sh.lianjia.com/ershoufang/pg{page}/&34;User-Agent&34;Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/90.0.4430.93Safari/537.36&34;房源标题&34;房源链接&34;小区&34;板块&34;房源总价&34;房源单价&34;具体信息&34;关注度&34;房源标题&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[1]/a/text()&34;房源链接&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[1]/a/@href&34;小区&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[2]/div/a[1]/text()&34;板块&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[2]/div/a[2]/text()&34;房源总价&34;万&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[6]/div[1]/span/text()&34;房源单价&34;\\d+&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[6]/div[2]/span/text()&34;具体信息&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[3]/div/text()&34;关注度&34;/html/body/div[4]/div[1]/ul/li/div[1]/div[4]/text()&34;第{page}页解析完成&暂停0.2s反爬
新建空DataFrame
df=df.append([get_page(i)foriinrange(1,100+1)],ignore_index=True)34;./链家上海_二手房爬取_20210524.xlsx&写入Excel
34;__main__&34;开始&34;100页链家上海二手房信息爬取并导出完成,共耗时{0}s&34;.2f”)))
好了,关于二手电子商品网站源码分享和二手电子产品平台的问题到这里结束啦,希望可以解决您的问题哈!
