一个朋友是做化工行业的销售,最近可能业务有点波动,老客户不给力,新客户乏力,自己想看看有没有好的渠道可以取拓展用户,所以一时间他不知道客户来和其他家的市场行情。
平时觉的咱这个写代码的好像没多大作用,这个时候就体现出来了,想从平台找到一些销售线索,但是自己去看感觉复杂,而且容易遗漏。来找我帮忙了。
实战需和实际相结合才能产生效益和动力,否则学了再多也不行啊,今天花点时间简单写了个抓取化工网的数据。
习惯性的用python来,使用requests库的proxies参数来设置HTTP代理,使用headers参数来模拟浏览器。
import requests
from bs4 import BeautifulSoup
# 目标URL
url = 'https://product.chemmade.com/'
# 代理服务器地址
# 获取免费爬虫IP:http://jshk.com.cn/mb/reg.asp?kefu=xjy
proxies = {
"http": "http://proxy-server-ip:port",
"https": "http://proxy-server-ip:port",
}
# 模拟浏览器的User-Agent
headers = {
'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'
}
# 发送GET请求
response = requests.get(url, proxies=proxies, headers=headers)
# 检查是否有错误发生
response.raise_for_status()
# 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 查找产品名称和价格
products = soup.find_all('div', class_='pro_list')
for product in products:
name = product.find('p', class_='pro_name').text
price = product.find('p', class_='pro_price').text
print(f'Name: {name}, Price: {price}')
在这个代码中,添加了一个proxies参数来设置HTTP代理,并添加了一个headers参数来模拟浏览器的User-Agent。还添加了一个调用raise_for_status方法的行来检查是否有错误发生,如果有错误发生(例如,HTTP状态码不是200),这个方法会抛出一个异常。
注意:你需要将"proxy-server-ip:port"替换为你的代理服务器的实际IP地址和端口。
大概就写这么点,依照这个基础的代码可以扩展更富的资源,发挥自己的想象吧,在借助gpt的力量。
欢迎交流,请积极的与我私信或留言。