python爬虫,抓取百度指定内容的url链接

这并没有什么卵用,我只是拿来练习写的~

#coding:utf8
#获取百度搜索python后 得到网站的url
import httplib
from bs4 import BeautifulSoup
import re


def conn(url):
	nameList = []
	connect = httplib.HTTPConnection(url,80,timeout=30) <span style="white-space:pre">			</span>#连接
	connect.request('GET','/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=python&rsv_spt=1&oq=python&rsv_pq=f10981490000252a&rsv_t=0c63QmTLBDZgUO2ObCG3uF370iK6gtPZCnvGSMVn6SQhXwFszeGD61oUUb08xrWBz2cC&rsv_enter=0&rsv_sug3=3&rsv_sug1=2&rsv_sug4=13000')
	response = connect.getresponse() 					#GET请求,获取响应对象
	read = response.read() 			 				#读取对象内容
	soup = BeautifulSoup(read)						#将内容放入bs4解析器,返回一个列表
	data = soup.find_all('a')						#查找里面 !所有! 的a标记,返回一个列表
	for i in data:								#遍历这个列表,每个元素都是一个tag对象
		try:
			i = re.search(r'^http://www\.baidu\.com/link.*',i['href']).group()
			#这个tag对象有许多属性和方法,以字典的方式查找其中的href属性,会返回属性的值
			#在返回的数据中匹配含有特定字符串的数据
			print i
		except Exception,e: #这段数据会有一些不匹配,所以去除报错信息
			pass
url = 'www.baidu.com'
conn(url)


Python爬虫抓取百度图库(Baidu Image)通常涉及使用网络爬虫技术来访问和下载图片。由于百度图库的内容受版权保护,直接抓取可能会违反服务条款,因此在编写爬虫时需要遵守相关规定并尽可能尊重原作者权益。以下是一个基本的步骤概述: 1. **获取HTML内容**:使用Python的requests库发送GET请求到百度图片的搜索结果页,然后解析返回的HTML内容。 ```python import requests from bs4 import BeautifulSoup url = "https://image.baidu.com/search/index?word={your_search_keyword}" response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') ``` 2. **定位图片链接**:通过分析HTML结构找到图片的URL。这可能涉及到查找特定的class、id或属性,具体取决于百度图库的页面结构。 ```python img_tags = soup.find_all('img', {'class': 'IIL img_bj'}) image_links = [img['src'] for img in img_tags] ``` 3. **处理反爬机制**:百度可能会有防爬机制,如IP限制、验证码等。为了应对,可能需要设置代理、使用User-Agent模拟浏览器、添加延时等。 4. **下载图片**:使用Python的`urllib.request`库下载图片,可以将图片保存到本地文件。 ```python import os import urllib.request for link in image_links: response = urllib.request.urlopen(link) img_data = response.read() filename = f"{os.path.basename(link)}" with open(filename, 'wb') as file: file.write(img_data) ``` 5. **存储和管理**:将抓取的图片保存到指定目录,可以考虑使用文件夹按照关键字或者其他方式进行分类。 **相关问题--:** 1. 百度图库如何防止爬虫抓取? 2. 如何处理网页请求时遇到的403 Forbidden错误? 3. 有没有什么方法可以在抓取时避免频繁访问被封禁?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值