李沐【实用机器学习】1.3网页数据抓取

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、数据抓取工具
  • 二、实例解析
  • 总结


前言

网页数据抓取目标:在一个网站里面感兴趣的数据抓取出来
数据特点:噪点较多,标签较弱,很多无用信息,但是数据量大。
爬网页和网页数据抓取的区别:
爬网页:把所有的网页爬下来,然后之后搜索引擎就可以去搜索到它
网页数据抓取:对网页中特定的数据感兴趣


一、数据抓取工具

主题:网页会有一个反扒方法。
通常方法:使用headless(就相当于一个游览器但没有图形界面)

from selenium import webdriver

chrome_options=webdriver.ChromeOptions()
chrome_options.headless=True#不需要图形界面
chrome=webdriver.Chrome(chrome_options=chrome_options)
page=chrome.get(url)

一个ip大量访问我的网站不正常
所以需要大量的ip(从云上面拿)

二、实例解析

page=BeautifuSoup(open(hetml_pathh,'r'))#专门用来解析html的东西
links=[a['href']for a in page.find_all('a','list-card-link')]#将所有a元素的类别数'list-card-link',返回他的href
ids=[l.split('/')[-2].split('_')[0] for l in links]

将id放入一个网页就可以去找具体房子的信息

sold_items=[a.text for a in page.find('div','ds-home-details-chip').find('p').find_all('span')]
#找到所有的div的容器,再找到'ds-home-details-chip',把里面的p找出来,再找到span
for item in soid_items:
	if 'sold:'in item:
		result['Sold Price']=item.split(' ')[1]
	if'Sold on 'in item:
		result['Sold On']=item.split(' ')[-1]

爬取图片

p=r'正则表达式的匹配.jpg'
ids=[a.split('-')[0] for a in re.findall(p,html)]
urls=[f'正则表达式的匹配.jpg' for id in ids]

总结

提示:这里对文章进行总结:
通过API或者网页抓取获取数据

你可能感兴趣的:(机器学习,机器学习,chrome,python)