二手房网站中的西安二手房信息"/>
使用网络爬虫爬取新浪二手房网站中的西安二手房信息
初步学会了使用爬虫来抓取一些简单的数据,学习了《python网络数据采集》后,对使用python采集动态加载页面有了一些初步认识。
通过抓取新浪二手房网站,对使用selenium采集动态加载页面进行初步学习。
实现思想为:
从西安二手房主页面开始,通过将鼠标放置于一级区域上,加载出二级区域后,采集二级区域的url信息存储至url管理器。此处需要使用selenium模块进行采集。
#获取小区域链接
def get_urls(baseurl,areas):urls=set()browser=webdriver.Firefox()browser.get(baseurl)for area in areas:right=browser.find_element_by_xpath("//a[@data-param='"+str(area['data-param'])+"']")ActionChains(browser).move_to_element(right).performhtml1=browser.page_sources_soup=BeautifulSoup(html1,'html.parser')s_area=s_soup.find_all('a',href=repile(r'b\d{1,2}-'+area['data-param']))for s in s_area:url=s['href']urls.add(url)browser.quit()return urls
将所有的二级url采集存储完成后,逐个解析每个url页面,采集每个页面上的数据,
最后使用excel存储采集的数据。
代码实现如下:
#coding=UTF-8
import urllib2
from bs4 import BeautifulSoup
import re
from selenium import webdriver
from selenium.webdrivermon.action_chains import ActionChains
import xlwt #下载网页
def download(url):if url is None:return Nonetry:request=urllib2.Request(url)request.add_header('User-Agent','Mozilla/5.0' )response=urllib2.urlopen(request)except urllib2.URLError,e:if
更多推荐
使用网络爬虫爬取新浪二手房网站中的西安二手房信息
发布评论