python爬虫时显示 [WinError 10061] 由于目标计算机积极拒绝,无法连接。
import csv
import random
import time
import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
class Spider(object):
def __init__(self): pass@staticmethoddef get_data_and_save(city, year, month): with open(f'{city}_数据.csv', 'w', encoding='utf-8', newline='') as f: csv_writer = csv.writer(f) csv_writer.writerow( ['日期', '质量等级', 'AQI指数', '当天AQI排名', 'PM2.5', 'PM10', 'So2', 'No2', 'Co', 'O3']) if month < 10: url = f'https://tianqihoubao.com/aqi/{city}-{year}0{month}.html' else: url = f'https://tianqihoubao.com/aqi/{city}-{year}{month}.html' res = requests.get(url, verify=True).text soup = BeautifulSoup(res, 'html.parser') for attr in soup.find_all('tr')[1:]: one_day_data = list() for index in range(0, 10): one_day_data.append(attr.find_all('td')[index].get_text().strip()) csv_writer.writerow(one_day_data)def crawl_air_quality(self, years, months, cities): for city in cities: for year in years: for month in months: self.get_data_and_save(city, year, month) time.sleep(2 + random.random()) print(city, year, month)
if name == '__main__':
spider = Spider()# 获取数据,保存数据spider.crawl_air_quality([2022], [1, 2, 3], ['beijing', 'shanghai', 'guangzhou'])
WinError 10061 错误通常表示你的程序试图连接到的服务器拒绝了你的连接请求。这可能是由几个原因造成的:
针对你的代码和错误,你可以尝试以下几种解决方法:
try: res = requests.get(url, verify=True).textexcept requests.exceptions.ConnectionError as e: print(f"ConnectionError: {e}") continue
这样,当连接错误发生时,你可以看到更详细的错误信息,有助于你找到问题的原因。
原始content: decode('utf-8')报错: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 1: invalid continuation byte decode('utf-8', 'ignore'): decode('gbk', 'ignore'): decode('utf-16', 'ig
python应用最多的场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。
有的时候,当我们的爬虫程序完成了,并且在本地测试也没有问题,爬取了一段时间之后突然就发现报错无法抓取页面内容了。这个时候,我们很有可能是遇到了网站的反爬虫拦截。 我们知道,网站一方面想要爬虫爬取网站,比如让搜索引擎爬虫去爬取网站的内容,来增加网站的搜索排名。另一方面,由于网站的服务器资源有限,过多的非真实的用户对网站的大量访问,会增加运营成本和服务器负担。 因此,有些网站会设置一些反爬虫的措施。我
本文向大家介绍Python反爬虫伪装浏览器进行爬虫,包括了Python反爬虫伪装浏览器进行爬虫的使用技巧和注意事项,需要的朋友参考一下 对于爬虫中部分网站设置了请求次数过多后会封杀ip,现在模拟浏览器进行爬虫,也就是说让服务器认识到访问他的是真正的浏览器而不是机器操作 简单的直接添加请求头,将浏览器的信息在请求数据时传入: 打开浏览器--打开开发者模式--请求任意网站 如下图:找到请求的的名字,打
主要内容:Scrapy下载安装,创建Scrapy爬虫项目,Scrapy爬虫工作流程,settings配置文件Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。 提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。 Scrapy下载安装 Scrapy 支持常见的主流平台,比如 Linux、Mac、Windows 等,因此你可以很方便的安装它
主要内容:多线程使用流程,Queue队列模型,多线程爬虫案例网络爬虫程序是一种 IO 密集型程序,程序中涉及了很多网络 IO 以及本地磁盘 IO 操作,这些都会消耗大量的时间,从而降低程序的执行效率,而 Python 提供的多线程能够在一定程度上提升 IO 密集型程序的执行效率。 如果想学习 Python 多进程、多线程以及 Python GIL 全局解释器锁的相关知识,可参考《Python并发编程教程》。 多线程使用流程 Python 提供了两个支持多线