本文整理汇总了Golang中github.com/koffeinsource/notreddit/data.Item.URL方法的典型用法代码示例。如果您正苦于以下问题:Golang Item.URL方法的具体用法?Golang Item.URL怎么用?Golang Item.URL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/koffeinsource/notreddit/data.Item
的用法示例。
在下文中一共展示了Item.URL方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: defaultHTML
// ogtags extracts the og:title, og:image, ... tags from a webpage
func defaultHTML(i *data.Item, sourceURL string, doc *goquery.Document) {
fmt.Println("Running OG extract.")
selection := doc.Find("title")
if len(selection.Nodes) != 0 {
i.Caption = selection.Nodes[0].FirstChild.Data
}
selection = doc.Find("meta[property*='og']")
for _, e := range selection.Nodes {
m := htmlAttributeToMap(e.Attr)
if m["property"] == "og:title" {
i.Caption = m["content"]
}
if m["property"] == "og:image" {
if !govalidator.IsRequestURL(m["content"]) {
log.Println("Invalid url in og:image. " + sourceURL)
continue
}
i.ImageURL = m["content"]
}
if m["property"] == "og:url" {
if !govalidator.IsRequestURL(m["content"]) {
log.Println("Invalid url in og:url. " + sourceURL)
continue
}
i.URL = m["content"]
}
if m["property"] == "og:description" {
i.Description = m["content"]
}
}
}
示例2: amazon
func amazon(i *data.Item, sourceURL string, doc *goquery.Document) {
if !strings.Contains(sourceURL, "www.amazon.") {
return
}
fmt.Println("Running Amazon plugin.")
// find picture
{
selection := doc.Find("#landingImage")
if len(selection.Nodes) == 0 {
fmt.Println("Amazon plugin found no #landingImage. " + sourceURL)
} else {
if len(selection.Nodes) > 1 {
fmt.Println("Amazon plugin found >1 #landingImage. " + sourceURL)
}
for _, e := range selection.Nodes {
if e.Type == html.ElementNode && e.Data == "img" {
m := htmlAttributeToMap(e.Attr)
if govalidator.IsRequestURL(m["data-old-hires"]) {
i.ImageURL = m["data-old-hires"]
} else {
fmt.Println("Amazon plugin imgURL invalid. " + m["data-old-hires"])
}
}
}
}
}
// update url to contain tag
{
// This is our tag. We should make it configurable
urlExtension := "tag=" + "gschaftshuonl-21"
start := strings.Index(i.URL, "tag=")
if start != -1 {
end := strings.Index(i.URL[start+1:], "&") + start + 1
i.URL = i.URL[:start] + i.URL[end:]
}
if strings.Index(i.URL, "?") == -1 {
i.URL += "?" + urlExtension
} else {
i.URL += "&" + urlExtension
}
}
// update title
{
selection := doc.Find("#productTitle")
if len(selection.Nodes) == 0 {
fmt.Println("Amazon plugin found no #productTitle. " + sourceURL)
} else {
if len(selection.Nodes) > 1 {
fmt.Println("Amazon plugin found >1 #productTitle. " + sourceURL)
}
for _, e := range selection.Nodes {
if e.Type == html.ElementNode && e.Data == "span" {
i.Caption = e.FirstChild.Data
}
}
}
}
}