请问我想最后打印出来的是这些网址,我哪里做得不对呢?谢谢各位
而不是带有这些乱码的输出结果
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)
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])
补充: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
问题已经修改,以下是基于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()
解决方案的步骤如下:
需要先下载并安装Chrome浏览器和对应版本的Chromedriver。你可以从参考资料中的链接找到和你Chrome浏览器版本一致的Chromedriver,并将其保存到一个文件夹中。
在代码中设置Chromedriver的文件路径,将路径赋值给chromedriver_path
变量。
导入webdriver
模块,并创建一个Chrome浏览器实例,使用webdriver.Chrome()
方法,并将Chromedriver的文件路径作为参数传入。
使用get()
方法打开你要爬取的网页,将目标网页的URL作为参数传入。
使用find_elements_by_tag_name()
方法获取网页中的所有链接,将"a"作为参数传入,这将返回一个包含所有链接元素的列表。
使用get_attribute()
方法和"href"参数获取每个链接元素的URL,并将其打印出来。
最后,使用quit()
方法关闭浏览器。
这个代码片段将打印出目标网页中的所有链接的URL。请确保Chromedriver的版本和你本机安装的Chrome浏览器的版本一致,否则可能会出现兼容性问题。