python网络爬虫,用正则表达式拔取网页

该博客展示了如何使用Python的urllib和re模块进行网页抓取及内容解析。通过定义URL,设置请求头,打开网页并读取响应,然后利用正则表达式匹配HTML中的特定信息。博客内容涉及网络爬虫基础和网页内容提取,是Python初学者入门网络爬虫的好材料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from urllib import request
import re
#定义URL
url='https://tieba.baidu.com/fkw=%B6%CE%D7%D3&fr=ala0&tpl=5&dyTabStr=MCw2LDIsNCw1LDMsMSw4LDcsOQ%3D%3D'
try:
    #定义请求头
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'}
    #传入请求头
    req=request.Request(url,headers=headers)
    #打开网页
    resp=request.urlopen(req)
    #打印响应,解码
    content=resp.read().decode('utf-8')
    print(content)
    #正则表达式
    pattern=re.compile(r'<a rel="noopener".*?title=(.*?)\s.*?>(.*?)</a>')
    #匹配html
    items=re.findall(pattern,content)
    #打印解码的内容
    for i in items:
        print(i[0]+'\t'+i[1])
except request.URLError as e:
    if hasattr(e,'code'):
        print(e.code)
    if hasattr(e,'reasson'):
        print(e.reason)


Scrapy是一个强大的网络爬虫框架,用于从网站上提取结构化数据。如果你想从苏宁易购抓取数据,可以按照以下步骤操作: 1. **安装Scrapy**: 首先确保已经安装了Python,然后通过命令行安装Scrapy: ``` pip install scrapy ``` 2. **创建一个新的Scrapy项目**: 创建一个名为`suning_spider`的新项目: ``` scrapy startproject suning_spider cd suning_spider ``` 3. **定义Spider**: 在`spiders`目录下创建一个Python文件,例如`suning.py`,并定义Spider。这里以简单的Selector Spider为例: ```python import scrapy class SuningSpider(scrapy.Spider): name = 'suning' allowed_domains = ['www.suning.com'] start_urls = ['https://www.suning.com'] def parse(self, response): # 使用response.xpath 或者response.css选择元素并提取数据 product_links = response.xpath('//a[@class="product-item"]/@href').getall() for link in product_links: yield {'url': link} yield response.follow(link, self.parse_item) def parse_item(self, response): # 提取商品名称、价格等信息,根据页面结构调整XPath或CSS选择器 title = response.xpath('//h1[@class="title"]/text()').get() price = response.xpath('//span[@class="price"]/text()').get() yield { 'title': title, 'price': price } ``` 4. **运行Spider**: 在命令行中,运行Spider: ``` scrapy crawl suning ``` 这将开始爬取指定的URL,并逐步深入到每个产品链接。 5. **处理数据**: 爬取完成后,你可以查看`logs`和`output`目录,其中包含HTML文件和CSV、JSON等格式的已提取数据,然后根据需要进一步处理或分析数据。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值