python 爬虫零基础求解

请问我想最后打印出来的是这些网址,我哪里做得不对呢?谢谢各位
而不是带有这些乱码的输出结果
from selenium import webdriver
import re
import requests
browser = webdriver.Chrome("C:\Program Files\Google\Chrome\Application\chromedriver.exe")
ur1 = 'https://so.eastmoney.com/yanbao/s?keyword=%E5%B0%8F%E7%B1%B3%27
browser.maximize_window()
browser.get(ur1)
data = browser.page_source
p_href = '【九号公司】<a href=".*?" target="_blank"'
href = re.findall(p_href, data)
print(href)

img

p_href = '【九号公司】<a href=".*?" target="_blank"'
->
p_href = '(?<=【九号公司】<a href=").*?(?=" target="_blank")'


p_href = '【<span>九号公司</span></span><a href="(.*?)" target="_blank"'
#或者
html=etree.HTML(data)
name=html.xpath("//*/span[@class='notice_item_t_label']//text()")
href=html.xpath("//*/div[@class='notice_item_t']//@href")
for n in range(len(name)):
    if name[n]=="九号公司":
        print(href[n//3])

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7508528
  • 这篇博客也不错, 你可以看下Python webdriver.Chrome()的使用
  • 除此之外, 这篇博客: Python个人学习笔记---调用Chrome浏览器中的 安装chromeDriver 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    chromeDriver下载地址1
    chromeDiver下载地址2
    我下载的版本chromeDriver版本:72.0.3626.7
    谷歌浏览器版本:72.0.3626.81
    在这里插入图片描述对应版本可参考该博客:https://blog.csdn.net/huilan_same/article/details/51896672

    补充:chromeDriver放在和python安装目录,和python.exe放在同一级目录
    在这里插入图片描述
    结合Django做简单调用例子(django已启动服务器):

    代码:

    from selenium import webdriver
    browser = webdriver.Chrome()
    browser.get(r"http://127.0.0.1:8000")
    

    运行脚本结果:
    在这里插入图片描述

    参考博客:https://blog.csdn.net/u011541946/article/details/67633536

  • 以下回答来自chatgpt:

    问题已经修改,以下是基于Selenium正确使用的代码和解决方案:

    from selenium import webdriver
    
    # 设置Chromedriver的文件路径
    chromedriver_path = r"C:\Program Files\Google\Chrome\Application\chromedriver.exe"
    
    # 创建一个Chrome浏览器实例
    browser = webdriver.Chrome(chromedriver_path)
    
    # 打开目标网页
    browser.get("https://example.com")
    
    # 获取网页中的所有链接
    links = browser.find_elements_by_tag_name("a")
    
    # 打印每个链接的URL
    for link in links:
        url = link.get_attribute("href")
        print(url)
    
    # 关闭浏览器
    browser.quit()
    

    解决方案的步骤如下:

    1. 需要先下载并安装Chrome浏览器和对应版本的Chromedriver。你可以从参考资料中的链接找到和你Chrome浏览器版本一致的Chromedriver,并将其保存到一个文件夹中。

    2. 在代码中设置Chromedriver的文件路径,将路径赋值给chromedriver_path变量。

    3. 导入webdriver模块,并创建一个Chrome浏览器实例,使用webdriver.Chrome()方法,并将Chromedriver的文件路径作为参数传入。

    4. 使用get()方法打开你要爬取的网页,将目标网页的URL作为参数传入。

    5. 使用find_elements_by_tag_name()方法获取网页中的所有链接,将"a"作为参数传入,这将返回一个包含所有链接元素的列表。

    6. 使用get_attribute()方法和"href"参数获取每个链接元素的URL,并将其打印出来。

    7. 最后,使用quit()方法关闭浏览器。

    这个代码片段将打印出目标网页中的所有链接的URL。请确保Chromedriver的版本和你本机安装的Chrome浏览器的版本一致,否则可能会出现兼容性问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^