Python通过HTTP协议定期抓取文件(ZT)


#!usr/bin/python

import urllib2,time;
class ErrorHandler(urllib2.HTTPDefaultErrorHandler):
def http_error_default(self, req, fp, code, msg, headers):
result = urllib2.HTTPError(req.get_full_url(), code, msg, headers, fp)
result.status = code
return result

URL='http://www.ibm.com/developerworks/js/ajax1.js'
req=urllib2.Request(URL)
mgr=urllib2.build_opener(ErrorHandler())

while True:
ns=mgr.open(req)
if(ns.headers.has_key('last-modified')):
modified=ns.headers.get('last-modified')
if(ns.code==304):
print '''
==============================
NOT MODIFIED
==============================
'''
elif(ns.code==200):
print ns.read()
else:
print 'there is an error';

if(not locals().has_key('modified')):
modified=time.time();
req.add_header('If-Modified-Since',modified)
time.sleep(10)
Python抓取五八同城上的天津区域科技公司信息,可以使用Scrapy这样的网络爬虫框架,以及BeautifulSoup、Requests等库辅助解析网页内容。以下是简单的步骤: 1. 安装必要的库: ``` pip install scrapy requests bs4 ``` 2. 创建一个新的Scrapy项目: ``` scrapy startproject zt_tech_companies ``` 3. 修改`settings.py`文件,添加允许爬取的域名,并配置下载延迟以避免被封禁: ```python USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, 'yourproject.middlewares.RandomUserAgentMiddleware': 400, } DUPEFILTER_CLASS = 'scrapy.dupefilters.RFPDupeFilter' COOKIES_ENABLED = True ``` 4. 创建一个spider(例如:zt_tech_spider.py)并编写爬取逻辑: ```python import scrapy from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor class ZTTechSpider(CrawlSpider): name = "zt_tech_spider" allowed_domains = ["58.com"] start_urls = ['https://search.58.com/chengjiao/tianjin/?ic=100'] rules = ( Rule(LinkExtractor(restrict_xpaths='//*[contains(@class,"js-item-title")]'), follow=True, callback="parse_item"), ) def parse_item(self, response): # 使用BeautifulSoup解析HTML,提取相关信息(如公司名称、联系信息等) item = {} title = response.xpath('//div[@class="js-item-title"]/text()').get() # 根据实际的HTML结构调整xpath选择器 if title: item['company_name'] = title yield item ``` 5. 运行爬虫: ``` scrapy crawl zt_tech_spider ``` 注意: - 需要根据网站的实际HTML结构调整XPath选择器。 - 网站可能会有反爬机制,如验证码、IP限制等,爬取前最好检查robots.txt规则,尊重网站的政策。 -
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值