diff --git a/cmd/web.go b/cmd/web.go index 0208f60..60626b1 100644 --- a/cmd/web.go +++ b/cmd/web.go @@ -32,7 +32,7 @@ func init() { webCmd.Flags().StringSliceVarP(&urls, "urls", "u", []string{}, "URLs of the webpages to scrape (comma-separated)") webCmd.Flags().StringVarP(&outputFile, "output", "o", "", "Output Markdown file (default: rollup-web-.md)") webCmd.Flags().IntVarP(&depth, "depth", "d", 0, "Depth of link traversal (default: 0, only scrape the given URLs)") - webCmd.Flags().StringVar(&cssSelector, "css", "", "CSS selector to extract specific content") + webCmd.Flags().StringVar(&cssSelector, "css", "", "CSS selector to extract specific content (use '-' to exclude elements, e.g., 'main - .ads - .navigation')") } func runWeb(cmd *cobra.Command, args []string) error { diff --git a/internal/scraper/scraper.go b/internal/scraper/scraper.go index 1fb2498..1702f9e 100644 --- a/internal/scraper/scraper.go +++ b/internal/scraper/scraper.go @@ -273,7 +273,7 @@ func ExtractContentWithCSS(content, selector string) (string, error) { // parseSelectors splits the CSS selector string into include and exclude parts func parseSelectors(selector string) (string, []string) { - parts := strings.Split(selector, "!") + parts := strings.Split(selector, "-") includeSelector := strings.TrimSpace(parts[0]) var excludeSelectors []string for _, part := range parts[1:] {