关于利用osmnx包在openstreet网站爬取数据时,运行报错连接错误的问题

最近在做课设复现github里面的的地理数据网络分析的python代码的时候,遇到了错误:

报错:requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Max retries exceeded with url: /search?format=json&polygon_geojson=1&dedupe=0&limit=50&q=Porto (Caused by ConnectTimeoutError(\u003Curllib3.connection.HTTPSConnection object at 0x00000192845F8290>, 'Connection to nominatim.openstreetmap.org timed out. (connect timeout=180)'))

首先我搜了一下对应的社区文章,有的说是爬虫的那个requests库的连接问题,但是按教程加了一下修复代码发现没用。

其他类似的报错问题的参考性也有限,在这个情况下,我将报错信息输入github社区进行信息匹配a168eeada01d4643b44b6c9a7f248206.jpg

 看到了一个大佬这样的回复,通过简单翻译理解,应该是使用相关库的时候,urllib的版本过高需要进行降级安装,在任务管理器(按win+R进入),中输入pip install urllib3==1.25.11,安装完毕后重新运行代码,成功通过并出现对应结果!谢谢github,我看社区中关于这个问题没有参考文章,因此在此写一下,希望对相关人员有所帮助,问题主要是针对使用osmnx包的gis相关人员在代码运行中遇到的这个问题。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
从携程网站利用python爬取评论数据的过程可以分为以下几步: 1. 确定需要爬取的酒店或景点的链接地址。 2. 利用 Python 中的 requests 库向该链接发送请求,获取网页源代码。 3. 利用 BeautifulSoup 或者其他解析库解析网页源代码,获取评论数据所在的 HTML 标签和属性。 4. 提取评论数据,并保存到本地文件或者数据库中。 具体的代码实现可以参考以下步骤: 1. 导入相关库和模块: ```python import requests from bs4 import BeautifulSoup import json ``` 2. 定义需要爬取的酒店或景点的链接地址: ```python url = 'https://hotels.ctrip.com/hotel/2565505.html#ctm_ref=hod_sr_lst_dl_n_1_1' ``` 3. 发送请求,获取网页源代码: ```python 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'} response = requests.get(url, headers=headers) html = response.text ``` 4. 解析网页源代码,获取评论数据所在的 HTML 标签和属性: ```python soup = BeautifulSoup(html, 'lxml') comments = soup.find_all('div', {'class': 'comment_item'}) ``` 5. 提取评论数据,并保存到本地文件或者数据库中: ```python result = [] for comment in comments: user = comment.find('a', {'class': 'user_comment'}).get_text() content = comment.find('div', {'class': 'J_commentDetail'}).get_text().strip() date = comment.find('span', {'class': 'time'}).get_text()[:10] score = comment.find('span', {'class': 'score'}).get_text() result.append({'user': user, 'content': content, 'date': date, 'score': score}) with open('comments.json', 'w', encoding='utf-8') as fp: json.dump(result, fp, ensure_ascii=False) ``` 以上就是利用 Python 爬取携程网站评论数据的过程和代码实现。需要注意的是,爬虫过程中需要遵守相关法律法规,不得进行非法爬取和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值