Python抓取华中大二手市场商品信息

最近做项目需要获取一些商品信息,于是就写了个简单的脚本来抓取某电子商场。基本原理是发送request请求然后分析response文本信息,正则匹配想要的内容。

#coding=utf-8
#time:2014/4/29
#author:Li
#OS:windows
import requests
import re
import os

def catch_ershou():
	'''抓取华中大二手市场'''
	host_url="http://ershou.hustonline.net"
	#add all the index ,total is 21 pages
	index_url=[]
	for i in range(1,22):
		index_url.append(host_url+'/index/index/'+str(i)+'/all')

	#find all the goods detail page links
	links=[]
	for url in index_url:
		req=requests.get(url)
		req.encoding='utf-8'
		regex=re.compile(r'ui-link-img[^>]+?href="(/goods/details/.+?)"')
		for link in regex.findall(req.content):
			links.append(host_url+link)

	#catch all the goods informations
	good_arr=[]
	for link in links:
		print link
		good_info={"name":"无","price":"无","addr":"无","time":"无","Tags":"无","contact":"无","QQ":"无"}
		req=requests.get(link)
		req.encoding='utf-8'
		try:
			regex=re.compile(r'stock-info-name.+?>(.+?)</h3>')
			info=regex.search(req.content).groups()
			good_info.update({"name":info[0].strip()})

			regex=re.compile(r'stock-price.+?>(.+?)</span>')
			info=regex.search(req.content).groups()
			good_info.update({"price":info[0].strip()})

			regex=re.compile(r'stock-info-attr.+?>([^<]+?)</div>')
			info=regex.findall(req.content)
			good_info.update({"addr":info[0].strip(),"time":info[1].strip(),"Tags":info[2].strip(),"contact":info[3].strip(),"QQ":info[4].strip()})
		except Exception:
			pass
		good_arr.append(good_info)
	print "total links:"+len(links)
	#write reasult in file
	try:
		fp=open(os.getcwd()+'\\ershou.txt','a+')
		for good_info in good_arr:
			fp.write('{"名称":'+'"'+good_info["name"]+'",'+\
						'"价格":'+'"'+good_info["price"]+'",'+\
						'"交易地点":'+'"'+good_info["addr"]+'",'+\
						'"发布时间":'+'"'+good_info["time"]+'",'+\
						'"Tags":'+'"'+good_info["Tags"]+'",'+\
						'"联系人":'+'"'+good_info["contact"]+'",'+\
						'"QQ":'+'"'+good_info['QQ']+'"'+\
					"}\r\n")
		fp.close()
	except Exception:
		print "write reasult in file failed!"
	print "all is done..."

def main():
	catch_ershou()

if __name__ == '__main__':
	main()
时间: 2024-09-20 13:51:48

Python抓取华中大二手市场商品信息的相关文章

PHP实现采集抓取淘宝网单个商品信息_php技巧

调用淘宝的数据可以使用淘宝提供的api,如果只需调用淘宝商品图片名称等公开信息在自己网站上,使用php中的 file_get_contents 函数实现即可. 思路: file_get_contents(url) 该函数根据 url 如 http://www.baidu.com 将该网页内容(源码)以字符串形式输出(一个整字符串),然后配合preg_match,preg_replace等这些正则表达式操作就可以实现获取该url特定div,img等信息了.当然前题是淘宝在单个商品页面的结构是固定的

python-问一个关于Python抓取页面跳转的问题(略愚蠢。。。)

问题描述 问一个关于Python抓取页面跳转的问题(略愚蠢...) 真的.可能这问题真的挺愚蠢...但咱还是厚着脸皮问下大神了... 问题是这样的:我在做一个抓取我们学校教务系统课表的爬虫,登陆的已经写好了,问题出在登陆以后怎么跳转. 登陆后的页面和切换到(跳转到)课程表页面的url是一样一样的... 而且wireshark抓包也没发现任何post数据包 教务系统截图如下 也是没任何post包,我试了下postdata也是没抓取到课程表页面... 总结一下: 1.页面跳转后url和跳转前一致 2

python抓取百度首页的方法

  本文实例讲述了python抓取百度首页的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import urllib def downURL(url,filename): try: fp=urllib.urlopen(url) except: print('download error') return 0 op=open(filename,'wb') while 1: s=fp.read() if not

python抓取最新博客内容并生成Rss

  本文给大家分享的是使用python抓取最新博客内容并生成Rss的代码,主要用到了PyRSS2Gen方法,非常的简单实用,有需要的小伙伴可以参考下. osc的rss不是全文输出的,不开心,所以就有了python抓取osc最新博客生成Rss ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4

求教如何通过python抓取网页中表格信息

问题描述 求教如何通过python抓取网页中表格信息 刚刚开始学习python 不清楚如何通过python抓取网页中的表格信息 比如给定一个student.html 里面有学号.姓名.性别等信息 怎么样写才能够输入学号 读出其他信息? 解决方案 用正则表达式,表格数据放在table->tr->td中 解决方案二: 输入学号然后服务器在给你其他数据,应该是一个post的过程-你可以抓包看一下整个过程-至于提取特定的信息,你可以先看下整个表格的结构,再有针对性的写个正则表达式来提取出信息- 解决方

编码-python抓取网页,网页源码无法解码

问题描述 python抓取网页,网页源码无法解码 抓取的网页:http://esf.nanjing.fang.com/ 浏览器查看源码显示content="text/html; charset=gb2312" python chardet 结果显示{'confidence': 0.0, 'encoding': None} 通过page=page.decode('gb2312','ignore').encode('utf-8'),解码后print为乱码 求问应该如何对这个网页的源代码进行

url-使用Python抓取下一页网页数据

问题描述 使用Python抓取下一页网页数据 怎么抓取一个无论怎么跳转其url都不变的网页?通过Requests和BeautifulSoup能实现吗? http://www.szairport.com/frontapp/HbxxServlet?iscookie=C 另外其下一页的跳转指令是js写的,我该怎么通过这条指令跳转下一页,命令如下: [<a href="javascript:void(0);" onclick="page.moveNext()">

Python抓取框架:Scrapy的架构

最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下图显示了Scrapy的大体架构,其中包含了它的主要组件及系统的数据处理流程(绿色箭头所示).下面就来一个个解释每个组件的作用及数据的处理过程. 二.组件 1.Scrapy Engine(Scrapy引擎) Scrapy引擎是用来控制整个系统的数据处理流程,并进行事务处理的触发.更多的详细内容可以看下

url-如何使用Python抓取翻页网页的数据

问题描述 如何使用Python抓取翻页网页的数据 我想使用Python抓取一个需要翻页的网页所有数据,但换页时URL不变,我想找到换页 的接口,通过接口访问下一页的数据.请问怎样分析?http://www.szairport.com/frontapp/HbxxServlet?iscookie=C