• «
  • 1
  • 2
  • »
  • Pages: 2/2     Go

109951166113541633.jpg

chenxiaoxing

回 30楼(algorith) 的帖子

doh查询需要pip install dnspython[doh]

1982424.jpg

algorith

B32F  2024-04-08 20:51
(起码不会更糟了对吧)

回 31楼(chenxiaoxing) 的帖子

需要的库都安装了。应该是我环境的问题?我连dns.resolver初始化都报错,比如query_object = dns.resolver.resolve(qname='xxx', rdtype='A')。大佬有什么头绪吗

1149295.jpg

香草小橡皮

B33F  2024-04-08 20:55
(。。。)
码了

none.gif

yaki

前来学习。

91919


a15.gif

小小罗辑

牛的

109951166113541633.jpg

chenxiaoxing

回 32楼(algorith) 的帖子

确定用的是dnspython库吗,不是dns

1982424.jpg

algorith

B38F  2024-04-09 20:40
(起码不会更糟了对吧)

回 37楼(chenxiaoxing) 的帖子

安装的是dnspython,模块导入的是dns,问题不在导入这里。貌似是dnspython和我环境的问题,我换了普通的python和虚拟环境都有问题,连基本的dns解析都报错。我socket可以用,但dns就不行,我还检查了我的hosts文件,cmd窗口也试过nslookup指令。。。

109951166113541633.jpg

chenxiaoxing

回 38楼(algorith) 的帖子

# 手动指定nameservers试试

import dns.resolver

res = dns.resolver.Resolver()
res.nameservers = ["223.5.5.5", "119.29.29.29"]
answer = res.resolve("example.org", "A")
print(answer[0].to_text())

1982424.jpg

algorith

B40F  2024-04-10 14:00
(起码不会更糟了对吧)
执行到res = dns.resolver.Resolver()这一行就会报错,就很奇怪,这个库我都重装好几回了,虚拟环境也换了

none.gif

12306

爬虫学习mark

1982424.jpg

algorith

B42F  2024-04-10 14:09
(起码不会更糟了对吧)

回 39楼(chenxiaoxing) 的帖子

我用的2.6.1,还有其他版本。我只执行
import dns.resolver
res = dns.resolver.Resolver()
这两行代码
就ValueError: nameserver ; is not an IP address or valid https URL
我问了gpt4,试了两天也没解决。主机dns配置应该没问题,python的socket也能用,但dnspython就用不了

1982424.jpg

algorith

B43F  2024-04-10 14:51
(起码不会更糟了对吧)

回 39楼(chenxiaoxing) 的帖子

没事了,谢谢大佬解决了,是我注册表里有个接口的nameserver凭空多出来一个异常字符

none.gif

11e48030

感谢大佬

109951166113541633.jpg

chenxiaoxing

回 42楼(algorith) 的帖子

实例化时 dns.resolver.Resolver(configure=False) 试试

none.gif

还有100天

感谢大佬

9.png

李莘

B47F  2024-04-11 13:00
(我是世界第一大绅士,大♂哲♂学♂家♂)
之前因为女友想看八卦,就让gpt写了,把吃瓜网的往期导出成excel
https://www.51cg1.com/archives.html
这种没有反扒,网页结构也非常固定,很好弄。如果要更复杂的,比如把每一条导出为pdf,或者网页有访问次数限制,就要设置cookie啥的,会麻烦。

所以说,大佬牛逼

我自己写的python代码在下面

import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime

def scrape_to_excel_advanced(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')

    # 初始化数据收集列表
    data = []
    # 获取所有的'archive-title' div
    archive_titles = soup.find_all('div', class_='archive-title')

    for archive in archive_titles:
        # 提取年月信息,这是从div的id属性中获取的,形式为'archives-YYYY-MM'
        year_month = archive.get('id').replace('archives-', '')  # 提取形式为'YYYY-MM'

        # 对于每个月份的档案,找到所有文章
        articles = archive.find_all('div', class_='brick')
        for article in articles:
            a_tag = article.find('a')
            title = a_tag.text.strip()  # 获取标题
            link = 'https://www.51cg1.com' + a_tag.get('href')  # 拼接完整的URL
            day = a_tag.find('span', class_='time').text.strip()  # 获取日期中的日
            # 修正:直接使用year_month和day拼接,确保格式正确
            full_time = f"{year_month}-{day.split('-')[-1]}"  # 组合完整的年月日日期

            # 将信息添加到数据列表中
            data.append({'时间': full_time, '名称': title, '链接': link})

    # 使用当前日期生成Excel文件名
    now = datetime.now()
    excel_file_name = f"{now.year}年{now.month}月{now.day}日更新{len(data)}条.xlsx"

    # 创建DataFrame并保存到Excel
    df = pd.DataFrame(data)
    df.to_excel(excel_file_name, index=False)

    print(f'已成功抓取数据并保存到"{excel_file_name}"')

if __name__ == "__main__":
    scrape_to_excel_advanced(
        url='https://www.51cg1.com/archives.html'
    )

none.gif

mic666

cycy

suhandada


bxnnwolf


223896.jpg

神机营把总

大佬谢谢了。

塔菲


a11.gif

钢管厂一区

感谢分享,谢谢大佬
  • «
  • 1
  • 2
  • »
  • Pages: 2/2     Go