根据内容取出新闻的内容

博客给出了一段SQL存储过程代码,该存储过程名为Selectbycontent,接收一个varchar类型的参数@content,用于在news和category表中查询新闻信息,通过模糊匹配新闻内容,按创建时间降序排列结果。

CREATE PROCEDURE Selectbycontent
@content varchar(100)
AS
BEGIN
select c.id,[name],title,createtime,caid from news n join category c on n.caid=c.id
where n.content like
'%'+@content+'%'
order by createtime desc
END
GO

### Python 爬虫抓新闻内容教程 #### 使用 `requests` 和 `BeautifulSoup` 为了实现从新闻网站抓最新头条的功能,可以采用如下方法: 利用 `requests` 库发起 HTTP 请求并获网页源码。对于目标 URL 的访问,可以通过设置 headers 来模拟浏览器行为,从而提高成功率。 ```python import requests from bs4 import BeautifulSoup headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } url = "http://news.example.com/latest-headlines" response = requests.get(url, headers=headers) content = response.text ``` 接着解析 HTML 文档结构,提所需的信息片段。这里选用 `BeautifulSoup` 工具来进行 DOM 解析操作,方便定位到具体的标签节点位置。 ```python soup = BeautifulSoup(content, 'html.parser') headlines = [] for item in soup.find_all('h2', class_='headline'): title = item.a.string.strip() link = item.a['href'] headlines.append({ 'title': title, 'link': f"http://news.example.com{link}" }) ``` 最后遍历找到的所有 `<h2>` 标签下的链接元素,读取出其文本值作为文章标题以及相对路径组成的绝对地址保存至列表中[^3]。 上述代码展示了基本流程,但在实际应用时还需考虑更多细节问题,比如异常处理机制、动态加载页面的数据采集策略等[^4]。 #### 处理 JavaScript 动态渲染的页面 当遇到由 JavaScript 渲染出来的内容时,则需要用到 Selenium 这样的自动化测试框架配合 WebDriver 浏览器驱动程序来启动真实环境中的 Web 页面实例化对象,并等待指定时间直至完成全部资源加载后再执行后续逻辑。 ```python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager def setup_driver(): options = webdriver.ChromeOptions() options.add_argument('--headless') # 不打开图形界面运行 driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options) return driver driver = setup_driver() try: driver.get("http://dynamic-news-site.example.com") elements = WebDriverWait(driver, 10).until( EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".js-rendered-content h2")) ) for element in elements: print(element.text) finally: driver.quit() ``` 这段脚本说明了怎样借助于 Selenium 实现对含有大量 JS 脚本依赖性的现代前端架构的支持能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值