Python网络爬虫,在网站上扒数据

Python做网络爬虫其实是很方便的一件事,下面先贴出一段代码,使用其中的网址和设置可以直接得到一些数据:

编程环境:Sublime Text

<span style="font-size:18px;"># 导入需要用到的包,记得先安装BeautifulSoup
from bs4 import BeautifulSoup	
import urllib2
# 你需要扒数据的网站网址,timeout是溢出时间,即在timeout时间之内无法得到需要的数据就退出,属于保护措施
pagesource = urllib2.urlopen("http://www.ly.com/scenery/",timeout=8)
# 读取网站的数据
sourceData = pagesource.read()
siteSoup = BeautifulSoup(sourceData,"html.parser")
# 数据所属的类
selectkeys = siteSoup.find_all("div",attrs={"class":"s_com_detail"})
selectkeyz = siteSoup.find_all("span",attrs={"class":"s_dis"})

# 输出格式,第一个表示同时输出多个数据,第二个表示只输出一组数据,其中某些语句是调整格式的
for plink in selectkeys:
	print "%s,%s,%s"% (plink.find_all("p")[0].find(text=True),plink.find_all("i")[0].find(text=True),plink.find_all("b")[0].find(text=True))
for blink in selectkeyz:
	print blink.find(text=True)</span>


如果想扒不同网站的数据,程序中需要修改的几处如下:



操作步骤如下:

第一步:首先获得目标网址,打开你要的网站直接复制网址,放在程序里面方框1处

第二部:在网站页面上 右键—检查即可打开下面这个界面



右边即网页源码,我们要从这些源码中找数据

第三步:定位我们要下载的数据:

点击这个按钮:


鼠标点一下你想下载的数据选中:


此时网页源码就定位在这个数据处了:


第四步:寻找数据所属的类class

沿着定位的源码往上找,第一个class就是这个数据所属的类


class前后的div和detail分别对应程序里面class前后的内容


第五步:找这个数据对应的唯一标识

图中我们定位的数据处(即109)前后分别有<b>和</b>,所以b就是这个数据对应的唯一标识,这些网页源码中所有数据这类数据(价格)的标识都是b,对应程序中最后红框里面的内容。


至此,程序就完成了,如有不清楚的地方,欢迎指正

  • 13
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值